Назад | Перейти на главную страницу

Перенаправление домена на определенную страницу в IIS

У меня есть веб-сайт в 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>