Понятный URL-адрес — шаблон правила
от группы iis
Шаблоны правил используются для простого способа создания одного или нескольких правил перезаписи для определенного сценария. Модуль переопределения URL-адресов содержит несколько шаблонов правил для некоторых распространенных сценариев использования. Кроме того, пользовательский интерфейс модуля переопределения URL-адресов предоставляет платформу для подключения пользовательских шаблонов правил. В этом пошаговом руководстве показано, как использовать шаблон правила "Понятный для пользователя URL-адрес", который входит в модуль переопределения URL-адресов.
Предварительные требования
Для этого пошагового руководства требуются следующие предварительные требования:
- IIS 7.0 или более поздней версии с включенной службой роли ASP.NET;
- Установленный выпуск модуля переопределения 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-адреса для динамического веб-приложения более понятными для пользователей и поисковых систем. Как правило, динамические веб-страницы учитывают параметры строки запроса при создании выходного 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-адресов на основе иерархии.
Чтобы использовать шаблон, выполните следующие действия:
- Перейдите в диспетчер IIS.
- Выберите "Веб-сайт по умолчанию"
- В представлении функций щелкните "Переопределение URL-адресов".
- В области "Действия" справа щелкните "Добавить правила...", а затем выберите шаблон "Понятный ДЛЯ пользователя URL-адрес".
- В диалоговом окне "Добавление правил для включения понятных URL-адресов" введите пример URL-адреса с параметрами строки запроса,
http://localhost/article.aspx?id=123&title=some-title
а затем разверните раскрывающийся список с предлагаемыми вариантами преобразования этого примера URL-адреса в URL-адрес без строки запроса.
- Выберите второй вариант:
http://localhost/article/123/some-title
. Обратите внимание, что шаблон URL-адреса и URL-адрес подстановки были обновлены соответствующим образом. Они будут использоваться в правиле перезаписи, которое будет создано шаблоном правила. Проверьте "Создать соответствующее правило перенаправления", чтобы создать правило перенаправления, которое будет использоваться, когда веб-клиенты используют внутренний URL-адрес для запроса веб-страницы. Эти клиенты будут перенаправлены на соответствующий общедоступный URL-адрес.
Кроме того, проверка "Создать соответствующее правило перезаписи исходящего трафика", чтобы создать правило для исходящего трафика, которое заменит все экземпляры внутренних URL-адресов в HTML-коде ответа их общедоступными эквивалентами.
- Нажмите кнопку "ОК", чтобы создать правила перезаписи, перенаправления и исходящего трафика:
Тестирование правила
Чтобы протестировать созданные правила, откройте веб-браузер и запросите следующий URL-адрес:
http://localhost/article/234/some-title
Вы увидите, что правило перезаписи на веб-сервере изменило исходный URL-адрес на article.aspx и передало значения "234" и "some-title" в качестве значений для параметров строки запроса.
В веб-браузере наведите указатель мыши на текст "URL-адрес ссылки" (или используйте меню "Страница" —> "Просмотреть источник..."). Обратите внимание, что хотя URL-адрес ссылки изначально был в формате, в который использовались параметры строки запроса, он был заменен модулем переопределения URL-адресов для использования формата URL-адреса на основе иерархии.
Кроме того, при запросе http://localhost/article.aspx?id=432&title=some-other-title
вы увидите, что браузер перенаправляется на http://localhost/article/432/some-other-title
.
Итоги
В этом пошаговом руководстве вы узнали, как создавать правила перезаписи с помощью шаблона правила "Удобный для пользователя URL-адрес", включенного в модуль переопределения URL-адресов. Этот шаблон правил можно использовать в качестве отправной точки для разработки правил перезаписи, чтобы обеспечить удобные для пользователей и поисковых систем URL-адреса для существующих веб-приложений.