Понятный URL-адрес — шаблон правила

от группы iis

Шаблоны правил используются для простого способа создания одного или нескольких правил перезаписи для определенного сценария. Модуль переопределения URL-адресов содержит несколько шаблонов правил для некоторых распространенных сценариев использования. Кроме того, пользовательский интерфейс модуля переопределения URL-адресов предоставляет платформу для подключения пользовательских шаблонов правил. В этом пошаговом руководстве показано, как использовать шаблон правила "Понятный для пользователя URL-адрес", который входит в модуль переопределения URL-адресов.

Предварительные требования

Для этого пошагового руководства требуются следующие предварительные требования:

  1. IIS 7.0 или более поздней версии с включенной службой роли ASP.NET;
  2. Установленный выпуск модуля переопределения URL-адресов 2.0.

Настройка тестовой веб-страницы

Мы будем использовать простую тестовую страницу asp.net, чтобы убедиться, что правила, созданные шаблоном, работают правильно. Тестовая страница просто считывает переменные веб-сервера и выводит их значения в браузере.

Скопируйте следующий код ASP.NET и поместите его в папку %SystemDrive%\inetpub\wwwroot\ файла article.aspx:

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>URL Rewrite Module Test</title>
</head>
<body>
    <h1>URL Rewrite Module Test Page</h1>
        <table>
            <tr>
                <th>Server Variable</th>
                <th>Value</th>
            </tr>
            <tr>
                <td>Original URL: </td>
                <td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
            </tr>
            <tr>
                <td>Final URL: </td>
                <td><%= Request.ServerVariables["SCRIPT_NAME"] %>?<%= Request.ServerVariables["QUERY_STRING"] %></td>
            </tr>
            <tr>
                <td>Public Link: </td>
                <td><a href="<%= Request.ServerVariables["SCRIPT_NAME"] %>?<%= Request.ServerVariables["QUERY_STRING"] %>">Link URL</a></td>
            </tr>
        </table>
    </body>
</html>

После копирования этого файла перейдите по адресу http://localhost/article.aspx и проверка, что страница была правильно отображена в браузере.
Снимок экрана браузера, на котором отображается страница теста модуля переопределения URL-адреса.

Использование шаблона правила для создания правил перезаписи

Шаблон правила "Удобный для пользователя URL-адрес" можно использовать для создания правил перезаписи, перенаправления и исходящего трафика, которые делают URL-адреса для динамического веб-приложения более понятными для пользователей и поисковых систем. Как правило, динамические веб-страницы учитывают параметры строки запроса при создании выходного HTML-кода. URL-адреса со строками запроса (например, http://contoso.com/articles.aspx?year=2008&month=11) не так просто использовать и обмениваться данными в виде простых URL-адресов на основе иерархии (например, http://contolso.com/articles/2008/11). Кроме того, некоторые средства-обходчики поисковых систем могут игнорировать строку запроса при индексировании страниц веб-сайта. Шаблон правила помогает создать правило перезаписи, которое преобразует URL-адреса на основе иерархии в URL-адреса со строками запроса. Templace также может при необходимости создать правило перенаправления, которое можно использовать для перенаправления веб-клиентов из URL-адресов со строками запроса для очистки URL-адресов. Наконец, можно создать правило перезаписи для исходящего трафика, которое заменяет все вхождения URL-адресов строками запроса в HTML-ответе эквивалентами URL-адресов на основе иерархии.

Чтобы использовать шаблон, выполните следующие действия:

  1. Перейдите в диспетчер IIS.
  2. Выберите "Веб-сайт по умолчанию"
  3. В представлении функций щелкните "Переопределение URL-адресов".
    Снимок экрана: окно диспетчера I IS на экране веб-сайта по умолчанию. Выделен значок переопределения URL-адреса.
  4. В области "Действия" справа щелкните "Добавить правила...", а затем выберите шаблон "Понятный ДЛЯ пользователя URL-адрес".
    Снимок экрана: диалоговое окно
  5. В диалоговом окне "Добавление правил для включения понятных URL-адресов" введите пример URL-адреса с параметрами строки запроса, http://localhost/article.aspx?id=123&title=some-title а затем разверните раскрывающийся список с предлагаемыми вариантами преобразования этого примера URL-адреса в URL-адрес без строки запроса.
    Снимок экрана: диалоговое окно
  6. Выберите второй вариант: http://localhost/article/123/some-title. Обратите внимание, что шаблон URL-адреса и URL-адрес подстановки были обновлены соответствующим образом. Они будут использоваться в правиле перезаписи, которое будет создано шаблоном правила. Проверьте "Создать соответствующее правило перенаправления", чтобы создать правило перенаправления, которое будет использоваться, когда веб-клиенты используют внутренний URL-адрес для запроса веб-страницы. Эти клиенты будут перенаправлены на соответствующий общедоступный URL-адрес.
    Кроме того, проверка "Создать соответствующее правило перезаписи исходящего трафика", чтобы создать правило для исходящего трафика, которое заменит все экземпляры внутренних URL-адресов в HTML-коде ответа их общедоступными эквивалентами.
    Снимок экрана: диалоговое окно
  7. Нажмите кнопку "ОК", чтобы создать правила перезаписи, перенаправления и исходящего трафика:
    Снимок экрана: окно диспетчера I IS, отображающее страницу переопределения URL-адреса. Отображаются правила для входящего и исходящего трафика.

Тестирование правила

Чтобы протестировать созданные правила, откройте веб-браузер и запросите следующий URL-адрес:

http://localhost/article/234/some-title

Вы увидите, что правило перезаписи на веб-сервере изменило исходный URL-адрес на article.aspx и передало значения "234" и "some-title" в качестве значений для параметров строки запроса.

В веб-браузере наведите указатель мыши на текст "URL-адрес ссылки" (или используйте меню "Страница" —> "Просмотреть источник..."). Обратите внимание, что хотя URL-адрес ссылки изначально был в формате, в который использовались параметры строки запроса, он был заменен модулем переопределения URL-адресов для использования формата URL-адреса на основе иерархии.

Снимок экрана: окно браузера со страницей теста модуля переопределения URL-адреса. Перенаправленный URL-адрес обведен.

Кроме того, при запросе http://localhost/article.aspx?id=432&title=some-other-title вы увидите, что браузер перенаправляется на http://localhost/article/432/some-other-title.

Итоги

В этом пошаговом руководстве вы узнали, как создавать правила перезаписи с помощью шаблона правила "Удобный для пользователя URL-адрес", включенного в модуль переопределения URL-адресов. Этот шаблон правил можно использовать в качестве отправной точки для разработки правил перезаписи, чтобы обеспечить удобные для пользователей и поисковых систем URL-адреса для существующих веб-приложений.