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>