Как перенаправить URL-путь в IIS?
в IIS 6.0 есть простой способ перенаправить запросы в папку в другую папку, сохраняя при этом остальную часть пути.
например
Если я переместил содержимое:
мистит.орг.uk / stuff
к
вещи.мистит.орг.uk/
могу ли я автоматически перенаправлять запросы на определенные страницы как
mysite.org.uk/stuff/countrybriefing/tanzania/travel.html
к
stuff.mysite.org.uk/countrybriefing/tanzania/travel.html
Я знаю, что .htaccess может делать такие вещи в Apache, есть ли эквивалент в IIS?
4 ответов
принято от Microsoft Technet.
перенаправление веб-сайтов в IIS версии 6.0 (IIS 6.0)
когда браузер запрашивает страницу или программу на вашем веб-сайте, Веб-сервер находит страницу, указанную URL-адресом, и возвращает ее в браузер. При перемещении страницы на веб-сайте не всегда можно исправить все ссылки, ссылающиеся на старый URL-адрес страницы. Чтобы убедиться, что браузеры могут найти страницу по новому адресу, вы можете веб-сервер, чтобы перенаправить на новый URL-адрес.
вы можете перенаправлять запросы на файлы в одном каталоге в другой каталог, на другой веб-сайт или в другой файл в другом каталоге. Когда браузер запрашивает файл по исходному URL-адресу, веб-сервер указывает браузеру запросить страницу с помощью нового URL-адреса.
важно
вы должны быть членом группы администраторов локальном компьютере выполнить следующие процедуры. В целях безопасности рекомендуется войти в систему с помощью учетной записи, не входящей в группу "Администраторы", а затем с помощью команды runas запустить Диспетчер IIS от имени администратора. В командной строке введите runas /user:Administrative_AccountName "mmc %systemroot%\system32\inetsrv\iis.магистр."
процедуры
перенаправлять запросы на другой веб-сайт или каталог
в Диспетчере IIS разверните локальный компьютер, щелкните правой кнопкой мыши веб-узел или каталог, который требуется перенаправить, и выберите Свойства.
перейдите на вкладку домашний каталог, виртуальный каталог или каталог.
по материалам этого источника выберите перенаправление на URL-адрес.
в поле перенаправление на введите URL-адрес целевого каталога или веб-страницы сайт. Например, чтобы перенаправить все запросы на файлы в каталоге каталога в каталог NewCatalog, введите /NewCatalog.
перенаправить все запросы в один файл
в Диспетчере IIS разверните локальный компьютер, щелкните правой кнопкой мыши веб-узел или каталог, который требуется перенаправить, и выберите Свойства.
щелкните домашний каталог, виртуальный каталог или каталог табуляция.
по материалам этого источника выберите перенаправление на URL-адрес.
в поле перенаправление на введите URL-адрес файла назначения.
-
установите флажок точный URL-адрес, указанный выше, чтобы запретить веб-серверу добавлять исходное имя файла к целевому URL-адресу.
вы можете использовать подстановочные знаки и перенаправлять переменные в URL-адресе назначения, чтобы точно контролировать, как исходный URL-адрес переводится в целевой URL-адрес.
вы также можете использовать метод перенаправления для перенаправления всех запросов на файлы в определенную папку программы. Как правило, вы должны передать любые параметры из исходного URL-адреса в программу, что можно сделать с помощью переменных перенаправления.
перенаправлять запросы в программу
в Диспетчере IIS разверните локальный компьютер, щелкните правой кнопкой мыши веб-узел или каталог вы хотите перенаправить и нажмите "Свойства".
перейдите на вкладку домашний каталог, виртуальный каталог или каталог.
-
по материалам этого источника выберите перенаправление на URL-адрес.
в поле перенаправить в введите URL-адрес программы, включая любые переменные перенаправления, необходимые для передачи параметров программе. Например, перенаправление всех запросов скриптов в каталоге скриптов в программу ведения журнала который записывает запрошенный URL и любые параметры, переданные с URL, введите /Scripts/Logger.exe?URL=$V+PARAMS=$P. $V и $P-переменные перенаправления.
установите флажок точный URL-адрес, указанный выше, чтобы запретить веб-серверу добавлять исходное имя файла к целевому URL-адресу.
отформатируйте URL перенаправления следующим образом:
stuff.mysite.org.uk$S$Q
на $S
скажу, что любой путь должен быть применен к новому URL-адресу.
$Q
говорит, что любые переменные параметров должны быть переданы в новый URL.
в IIS 7.0, необходимо включить опцию Redirect to exact destination
.
Я считаю, что в IIS 6.0 тоже должен быть такой вариант.
Если у вас есть множество перенаправлений для создания, наличие нагрузок виртуальных каталогов по местам-это кошмар для поддержания. Вы можете попробовать использовать ISAPI перенаправить расширение IIS. Тогда все, что вы перенаправляете, управляется в одном месте.
http://www.isapirewrite.com/docs/
Он также позволяет вам сопоставлять шаблоны на основе выражений reg ex и т. д. Я использовал, где мне пришлось перенаправить 100 страниц, и это сэкономило много времени.
вот конфигурация для ISAPI_Rewrite 3:
RewriteBase /
перезаписать % {HTTP_HOST} ^mysite.орг.uk$ [NC]
RewriteRule ^stuff/(.+ ) $ http://stuff.mysite.org.uk / $1 [NC, R=301, L]