Назад | Перейти на главную страницу

IIS7.5 перенаправляет IP в домен

Но застрял на этом, посмотрел в Google, но ничего не нашел.

Развертывание сайта пошло немного неправильно, и некоторые страницы сохранялись как:

http: //73.34.12.../page.aspx

Где IP был базовым IP-адресом для домена (чтобы страницы обслуживались нормально).

Однако теперь многие сканеры индексируют IP-сайт И основной сайт. Это лишняя трата пропускной способности и вызывает некоторые проблемы с дублированием контента!

Как я могу перенаправить IP в домен?

Когда к сайту осуществляется доступ по IP-адресу, HTTP_HOST будет IP-адресом (или, может быть, просто пустым - я тестировал это на своем ПК, и это был IP-адрес). Если это так, то вы можете использовать простое правило перезаписи URL, чтобы выполнить 301 редирект на правильное доменное имя.

Вот пример такого web.config (когда HTTP_HOST - это IP). Вам необходимо установить модуль URL Rewrite (v1 уже входит в состав IIS 7.5, но вы можете обновить его до v2). Отлично работает локально в Windows 7:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="IP Hit" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="192.168.0.3" />
                    </conditions>
                    <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

P.S. Вам нужно будет изменить мой локальный IP-адрес на тот, который у вас есть на сервере (73.34.12 ...)