URL перенаправления в IIS 7.5 - PullRequest
       57

URL перенаправления в IIS 7.5

0 голосов
/ 12 декабря 2011

Я хочу, чтобы весь домен www был голым через движок IIS Rewrite. Есть много доменов, указывающих на одно и то же приложение.

Вот мое правило:

^ (WWW). (. *) $

Тип действия: Перенаправление URL перенаправления: {R: 2} Тип перенаправления: постоянный

Когда я тестирую шаблон для www.xxx.com

R: 0 => www.stackoverflow.com R: 1 => www. R: 2 => www.stackoverflow.com

и это нормально. Что случилось? А также я должен включить "http://"?

1 Ответ

2 голосов
/ 12 декабря 2011

При сопоставлении с http_host должно работать что-то вроде ^ (www \.) (. +) $, Но может быть лучше указать домен. Из того, что я знаю об IIS (не очень) и о том, что он говорит в сети, что-то вроде:

<rewrite>
    <rules>
        <rule name="Redirect www.xxx.com to xxx.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.domain\.com$" />
            </conditions>
            <action type="Redirect" url="http://domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>

О, вы сказали для любого домена. Если вы хотите убедиться, что он заканчивается на .com, это должно быть что-то вроде

^ (www \.) (. +) (\. Com) $ против HTTP_HOST

.. о, если вам нужно сделать обратную ссылку, попробуйте что-то вроде этого:

<rewrite>
    <rules>
        <rule name="Redirect www.domain.com to domain.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.(.+)$" />
            </conditions>
            <action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

C: 1 является обратной ссылкой

...