IIS перенаправление с субдомена на путь

Предположим, у меня есть настоящий подобласть.

test.example.com, можно ли написать правило для iis для перенаправления поддоменов в test.example.com/SomeStaticPage.html

правило должно работать для многоуровневых поддоменов, т.е. test.aaa.bbb.example.com должен быть перенаправлен на test.aaa.bbb.example.com/SomeStaticPage.html

1 ответ

Использовать URL Rewrite очень просто, на самом деле мне интересно, точно ли я не понимаю требования. (вам нужны разные статические страницы для домена? или это действительно просто для перенаправления на один и тот же "SomestaticPage.html" при сохранении имени хоста, когда страница по умолчанию не указана?)

Простое правило, подобное этому, будет делать то, что задает ваш вопрос:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="RedirectToSomeStatic" stopProcessing="true">
                    <match url="^$" />
                    <action type="Redirect" url="/SomeStaticPage.html" />
                </rule>
            </rules>
        </rewrite>
    <system.webServer>
</configuration>

Теперь, если вы искали более полное решение, которое позволит вам указать страницу на основе имени хоста, то вы можете использовать карту перезаписи, где вы добавляете имена хостов, которые должны быть перенаправлены, и на какую страницу они должны перейти. Например, приведенное ниже правило будет проверять, запрашивают ли они "/", и находится ли имя хоста в карте перезаписи, и будет использовать эту страницу для перенаправления, если его нет в списке, то оно ничего не сделает:

<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="RedirectToSomeStatic" stopProcessing="true">
                <match url="^$" />
                <action type="Redirect" url="{C:0}" />
                <conditions>
                    <add input="{HostMap:{HTTP_HOST}}" pattern=".+" />
                </conditions>
            </rule>
        </rules>
        <rewriteMaps>
            <rewriteMap name="HostMap">
                <add key="test.example.com" value="/SomeStaticForTestExample.html" />
                <add key="test.a.b.c.example.com" value="/SomePageForTestABC.html" />
            </rewriteMap>
        </rewriteMaps>
    </rewrite>
</system.webServer>

Другие вопросы по тегам