Я настроил отображение поддоменов с подстановочными знаками для своего веб-приложения. Для этого я изменил "A" записи в настройках DNS. Все запросы к этим новым субдоменам работают нормально.
Ex: http://test1.foo.com, test2.foo.com
Позже я настроил переписывание IIS7 Canonical следующим образом:
<rewrite>
<rules>
<rule name="Enforce canonical hostname" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.foo\.com$" />
</conditions>
<action type="Redirect" url="http://www.foo.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
После добавления вышеуказанного кода все субдомены с подстановочными знаками направляются на http://www.foo.com.
Я хочу, чтобы все поддомены работали без проблем с применением канонической перезаписи.
Пожалуйста, помогите мне.
Этот вопрос немного устарел, но посмотрите, поможет ли это с проблемой поддомена. Я не тестировал его, но считаю, что он должен делать то, что вам нужно.
<rewrite>
<rules>
<rule name="Enforce canonical hostname - save subdomains" stopProcessing="true">
<match url=".?" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^([a-z.]+\.)?foo\.com$" />
<add input="{HTTP_HOST}" pattern="^www\." negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.{C:1}foo.com{URL}" />
</rule>
</rules>
</rewrite>