Перенаправить * .domain.com & domain.com на www.domain.com - PullRequest
4 голосов
/ 24 августа 2010

У меня проблема с поисковой оптимизацией, когда пользователи могут получить доступ к моему сайту, указав любой поддомен. Это вызывает проблемы с дубликатами страниц в SEO.

Например, если пользователь неправильно набирает «www», а затем публикует ссылку на форуме, Google сканирует «wwww.domain.com». Кроме того, Google также сканирует "domain.com".

Мне нужен способ заставить сайт всегда перенаправлять на «www.domain.com» независимо от того, как пользователь заходит на сайт.

Возможно ли это сделать в файле web.config? Если нет, то как еще я могу этого достичь?

Ура, Курт.

Ответы [ 4 ]

8 голосов
/ 24 августа 2010

Это можно сделать с помощью модуля перезаписи URL IIS. Вот конфигурация для перезаписи domain.com на www.domain.com:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Canonical host name">
                <match url="^(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^www\.domain\.com$" negate="true" />
                </conditions>
                <action type="Redirect" url="http://www.domain.com/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

Возможно, вам придется немного изменить регулярное выражение или добавить второе правило для поддержки перезаписи определенных поддоменов.

1 голос
/ 25 августа 2010

Это отлично сработало для меня:

IIS 6 как перенаправить с http://example.com/* на http://www.example.com/*

Мне пришлось немного изменить код, чтобы он работал с моим переписыванием URL-адресов, но кроме этого, на месте!

1 голос
/ 25 августа 2010

Ах, только что сделал это!

Установите сайт по умолчанию, чтобы просто перенаправить все вызовы с помощью URL Redirect на ваш сайт www.site.com, а затем создайте другой сайт с вашим фактическим контентом, который будет привязан только к поддомену www,

Это будет означать, что весь трафик будет перенаправлен на сайт www, если нет другой доступной привязки.

1 голос
/ 25 августа 2010

К сожалению, модуль перезаписи URL недоступен в IIS6.

Если вы хотите использовать перезапись URL, вы можете выбрать один из следующих вариантов:

...