Я использую Windows Server 2008 с IIS7. Мне нужно перенаправить пользователей, которые приходят на www.mysite.com
до wwww.mysite.com/menu_1/MainScreen.aspx
. Вот структура файлов, которые у меня есть для проектов:
-Sites
-Default Web Site
-Menu_1
-MenuService
-VscWebService
Я буду очень признателен за любую помощь в этом.
Ответ 1
Вот он. Добавьте этот код в файл web.config:
<system.webServer>
<rewrite>
<rules>
<rule name="Root Hit Redirect" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="/menu_1/MainScreen.aspx" />
</rule>
</rules>
</rewrite>
</system.webServer>
Это будет 301 Перманентный Перенаправление (URL будет изменен в браузере). Если вы хотите, чтобы такое "перенаправление" было невидимым (перепишите, внутреннее перенаправление), используйте это правило (единственное отличие в том, что "Перенаправление" заменено "Переписывать" ):
<system.webServer>
<rewrite>
<rules>
<rule name="Root Hit Redirect" stopProcessing="true">
<match url="^$" />
<action type="Rewrite" url="/menu_1/MainScreen.aspx" />
</rule>
</rules>
</rewrite>
</system.webServer>
Ответ 2
Я думаю, это можно было бы сделать без модуля перезаписи URL-адреса IIS. <httpRedirect>
поддерживает подстановочные знаки, поэтому вы можете настроить его следующим образом:
<system.webServer>
<httpRedirect enabled="true">
<add wildcard="/" destination="/menu_1/MainScreen.aspx" />
</httpRedirect>
</system.webServer>
Обратите внимание, что вам нужно включить функцию "Перенаправление HTTP" в IIS - см. HTTP-переадресация
Ответ 3
Я не мог заставить это работать с принятым ответом, главным образом потому, что я не знал, где ввести этот код. Я везде искал объяснения инструмента URL Rewrite, который имел смысл, но не смог найти. Я закончил использование инструмента HTTP Redirect в IIS.
- Выберите свой сайт
- Нажмите "Перенаправить HTTP" в разделе IIS (убедитесь, что установлена служба ролей).
- Проверить "Перенаправить запросы в этот пункт назначения"
- Введите, где вы хотите перенаправить. В вашем случае "wwww.mysite.com/menu_1/MainScreen.aspx"
- В Redirect Behavior я обнаружил, что мне нужно было проверить "Только перенаправить запросы к контенту в этом каталоге (не поддиректории), или он перейдет в цикл. Посмотрите, что работает для вас.
Надеюсь, это поможет.
Ответ 4
Вам нужно загрузить это из Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=7435.
Этот инструмент называется "Microsoft URL Rewrite Module 2.0 для IIS 7" и описан Microsoft следующим образом:
"Модуль URL Rewrite 2.0 предоставляет механизм перезаписи, основанный на правилах, для изменения запрашиваемых URL-адресов, прежде чем они будут обработаны веб-сервером и для изменения содержимого ответа до того, как он будет передан HTTP-клиентам"