Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда 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-ответе на их эквиваленты, основанные на иерархии.
Чтобы использовать шаблон, выполните следующие действия.
- Перейти к диспетчеру 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-коде ответа на их общедоступные эквиваленты.
- Нажмите "OK", чтобы были созданы правила перезаписи, перенаправления и исходящего трафика.
Тестирование правила
Чтобы проверить созданные правила, откройте веб-браузер и запросите следующий 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-адресов для существующих веб-приложений.