Правило перезаписи URL IIS7.5 для выполнения перенаправления 301 с mysite.hosting.com на mysite.co.uk - PullRequest
1 голос
/ 30 ноября 2011

Я использую IIS 7.5

У меня есть веб-сайт с действующим хостом, таким как:

A) mysite.co.uk

и хост DEFAULT (используется дляпредложения по тестированию, предоставляемые хостинговой компанией):

B) mysite.hosting.com

Веб-сайт виден по обоим адресам, что создает проблему дублирования контента для поисковой системы.

Мне нужно перенаправить весь трафик (для всех страниц) с B на A с помощью перенаправления 301.

Перенаправление IIS7.5 Http не предназначено для этой ситуации, поэтому я предполагаю использовать модуль перезаписи URL-адреса IIS 7.5.

Мои вопросы: как написать РОЛЬ в моем web.config?Спасибо

1 Ответ

6 голосов
/ 30 ноября 2011

Попробуйте добавить что-то подобное между тегами <System.webServer> в вашем web.config:

<rewrite>
    <rules>
        <rule name="Redirect mysite.hosting.com to mysite.co.uk" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="mysite.hosting.com" />
            </conditions>
            <action type="Redirect" url="http://mysite.co.uk/{R:0}" />
        </rule>
    </rules>
</rewrite>

Кроме того, вы можете сделать это, используя глобальные правила, добавив:

<rewrite>
    <globalRules>
            <rule name="Redirects to mysite.co.uk" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAny">
                <add input="{HTTP_HOST}" pattern="mysite.hosting.com$" />
            </conditions>
            <action type="Redirect" url="http://mysite.co.uk/{R:0}" />
        </rule>
    </globalRules>
</rewrite>
...