Правило Mod_rewrite для принудительного использования определенного доменного имени для определенного каталога

Правило Mod_rewrite для принудительного использования определенного доменного имени для определенного каталога

Я хотел бы принудительно использовать другое имя хоста/доменное имя для определенного каталога на моем сайте.

В настоящее время существует каталог, содержащий несколько веб-страниц в mainsite.com/directory. Для страниц, которые находятся только в этом каталоге, я хочу, чтобы доменное имя в адресной строке пользователей изменилось на differentsite.com. В идеале страницы должны находиться на корневом уровне differentsite.com.

Какие правила я могу добавить в файл .htaccess WordPress, чтобы добиться этого?

решение1

Создайте блок из следующих 3 строк для каждого каталога, для которого вы хотите это сделать. Сделайте это после директивы RewriteEngine on. В этом примере www.example.com — это домен, который вы хотите использовать для каталога.

RewriteCond %{REQUEST_URI} ^/directory1(.*)
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule .* http://www.example.com%1 [L,R]

После того, как вы протестируете его, измените [L,R]на [L,R=301], чтобы обозначить постоянное перенаправление для лучшей дружественности к SEO. У меня нет его для начала, потому что это усложняет тестирование, так как заставляет браузеры кэшировать перенаправление.

Чтобы вышеизложенное сработало, вам необходимо убедиться, что сервер настроен на прослушивание другого домена, и при доступе к этому домену использовать полный путь к подпапке (в данном случае directory1) в качестве корневого каталога документов для домена.

Если вы не знаете, как это сделать, и вас не смущает наличие подкаталога в URL-адресе, то настройте другой домен на использование того же корневого каталога документов, что и основной домен, а затем используйте следующие правила:

RewriteCond %{REQUEST_URI} ^/directory1.*
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R]

Связанный контент