Перенаправить URL-адреса www. * В IIS

Мне нужно найти простой и универсальный способ перехвата любых http://www.sub.example.com URL-адресов и перенаправления их на http: // sub .example.com (то есть удаление www)

I ' Я предпочитаю реализовывать это один раз для сервера, а не для каждого сайта, возможно, с помощью IIS Rewriter?

2
задан 5 February 2018 в 23:55
1 ответ

Вы захотите создать правило перенаправления в модуле перезаписи URL-адресов IIS следующим образом:

Сопоставить URL-адрес
Запрошенный URL-адрес: Соответствует шаблону
Использование: Регулярное выражение
Шаблон: * и Игнорировать регистр

Условия
Логическая группировка: Соответствовать любому
Вход: {HTTP_HOST}
Тип: соответствует шаблону Шаблон: ^ (www \.) (. *) $

Переменные сервера Оставьте поле пустым.

Действие Тип действия: Перенаправление
URL перенаправления: https: // {C: 2} {PATH_INFO}
Добавить строку запроса: проверено Тип перенаправления: Постоянное ( 301)

Примените правило и запустите IISReset.

В качестве альтернативы, после установки модуля вы можете изменить web.config следующим образом:

<rewrite>
    <rules>
        <rule name="Strip www" enabled="true" patternSyntax="Regex" stopProcessing="true">
            <match url="*" negate="false" />
            <conditions logicalGrouping="MatchAny">
                <add input=""{HTTP_HOST}" pattern="^(www\.)(.*)$" />
            </conditions>
            <action type="Redirect" url="https://{C:2}{PATH_INFO}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Это правило предназначено для проверки любого URL-адреса (*) и поиска экземпляра www. (по умолчанию без учета регистра) в {HTTP_HOST}, а затем перенаправить на вторую часть канонического имени хоста {C: 2} с добавлением остальной части пути в конец {PATH_INFO}. Это правило может не сработать, если был запрос на что-то вроде http://bad.www.example.com/some/page.html , так как он вернет https: //www.example .com / some / page.html , но он должен работать в большинстве случаев.

1
ответ дан 3 December 2019 в 12:33

Теги

Похожие вопросы