.htacees перенаправить все субдомены, кроме www - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь отредактировать мой код .htaccess, чтобы он работал для всех перечисленных ниже условий. Вот файл .htaccess, который у меня есть:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old_domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)\.old_domain\.com$
RewriteRule ^(.*)$ https://new_domain.com%{REQUEST_URI} [R=301,L]

Вот функция, которую я ищу:

old_domain.com -> https://new_domain.com/     #This Works
old_domain.com/any_directory/ -> https://new_domain.com/any_directory/     #This Works
www.old_domain.com -> https://new_domain.com/     #This Works
any_subdomain_besides_www.old_domain.com -> https://any_subdomain_besides_www.new_domain.com/   #This does NOT work

Как мне отредактировать мой файл .htaccess, чтобы последняя строка работает вместе со всеми остальными условиями? Для ясности, если субдомен в старом домене - www, то удалите его в новом домене. Однако, если это какой-либо другой поддомен, кроме www, сохраните его и измените только домен. В настоящее время он удаляет все субдомены. Спасибо!

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Вы можете использовать:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old_domain\.com [NC]
RewriteRule (.*) https://new_domain.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(.+)\.old_domain\.com [NC]
RewriteRule (.*) https://%1.new_domain.com/$1 [R=301,L]
0 голосов
/ 13 апреля 2020

Только old_domain.com с www subdomain будет перенаправлен

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old_domain\.com [NC]
RewriteRule (.*) https://new_domain.com/$1 [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...