У меня есть веб-сайт в IIS, установленный на domain1.com. У меня также есть домен под названием domain2.com, который перенаправляет на domain1.com. В настоящее время я настроил это в привязках domain1.com. Мне нужно изменить это так, чтобы domain2.com перенаправлялся на domain1.com/blog
Сделал бы я это через файл web.config или есть другой способ?
Другой вариант - сделать это с помощью appcmd.exe команда, используя командную строку.
Вышеуказанные команды должны работать.
Эти команды также полезны для создания любого вида перенаправления.
В переписать URL модуль является требованием. Он должен быть установлен на вашем IIS.
Эти команды работают без проблем на моем компьютере с Windows Server 2012.
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules /+"[name='Redirect_To_www',enabled='True']" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].match.url:"(.*)" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].match.ignoreCase:true >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].conditions.logicalGrouping:"MatchAny" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules /+"[name='Redirect_To_www'].conditions.[input='{HTTP_HOST}',pattern='^www\.([.a-zA-Z0-9\-]+)$',negate='true']" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.type:"Redirect" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.url:"http://www.{HTTP_HOST}/{R:0}" >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.appendQueryString:true >> output.out
C:\Windows\System32\inetsrv\appcmd.exe set config "%domain%" -section:system.webServer/rewrite/rules -[name='Redirect_To_www'].action.redirectType:"Permanent" >> output.out
Надеюсь, это поможет.
Смотрите ответ здесь: https://stackoverflow.com/questions/7018818/iis7-url-redirection-from-root-to-sub-directory
Вот. Добавьте этот код в свой файл 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>