URL Rewrite some.domain.com to domain.com/some
Как в IIS прописать правило URL Rewrite для перенаправления (rewrite) some.domain.com в domain.com/some?
Решение:
<rule name="CName to URL" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(?!www)(.*)\.domain\.com$" />
</conditions>
<action type="Redirect" url="http://domain.com/{C:1}/{R:0}" />
</rule>
Этим правилом мы перенаправляем http://some.domain.com на http://domain.com/some. Оно так же поддерживает запросы, например, http://some.domain.com/aboutus?more=info перенаправит на http://domain.com/some/aboutus?more=info.
То же самое можно сделать применив перезапись (rewrite):
<rule name="CName to URL - Rewrite" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(?!www)(.*)\.domain\.com$" />
</conditions>
<action type="Rewrite" url="/{C:1}/{R:0}" />
</rule>
Для посетителя запрос будет выглядеть как http://some.domain.com/aboutus/, а для сервера это будет запрос в папку