нужно перенаправление 301 .htaccess - PullRequest
0 голосов
/ 08 марта 2020

Какой код использовать в файле .htaccess для перенаправления 301 следующих доменов:

https://example.com/* -> https://www.example.com/* -> https://ww.example.com/* -> https://wvw.example.com/* = до https://ww1.example.com/*

Заранее благодарен за любую помощь.

1 Ответ

0 голосов
/ 08 марта 2020

Ну, вам нужно правило перенаправления и одно условие для каждого имени хоста:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^ww\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^ https://ww1.example.com%{REQUEST_URI} [QSA,R=301]

Если вы действительно хотите перенаправить все запрошенных хостов, на которые ваш http-сервер отвечает на "ww1" .example.com ", тогда это можно упростить:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^ww1\.example\.com$
RewriteRule ^ https://ww1.example.com%{REQUEST_URI} [QSA,R=301]

Вот документация, очень помогает на самом деле прочитать документацию используемого вами инструмента: https://httpd.apache.org/docs/current/mod/mod_rewrite.html

Хорошей идеей будет начать с временного перенаправления 302 и изменить его только на постоянное перенаправление 301 позже, если вы уверены, что все настроено правильно. Это предотвращает проблемы с кешированием при испытаниях ...

Эта реализация будет работать аналогично в конфигурации хоста http-серверов или внутри распределенного файла конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете распределенный файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация вообще была включена в конфигурации хоста и находилась в папке DOCUMENT_ROOT хоста.

И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования распределенных файлов конфигурации (".htaccess"). Эти распределенные файлы конфигурации добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...