301 Перенаправление www и других поддоменов в подкаталог на не-www - PullRequest
1 голос
/ 31 марта 2019

301 Перенаправление по htaccess все URL с любыми поддоменами в подкаталоге в без www

Примеры:

https://www.example.com/forum

до https://example.com/forum

https://anysubdomains.example.com/forum

до https://example.com/forum

https://www.example.com/forum/anysubdiretory

до https://example.com/forum/anysubdirectory

https://anydubdomains.example.com/forum/anysubdiretory

до https://example.com/forum/anysubdirectory

Приведенный ниже код работает только для www, но как заставить его работать для всех поддоменов:

RewriteEngine on

#the directory the rule should apply to
RewriteCond %{REQUEST_URI} ^/forum/  [NC]
#check if the host  string starts with "www"
RewriteCond %{HTTP_HOST} ^www\. [NC]
#redirect all www urls to non-www
RewriteRule (.*) https://example.com%{REQUEST_URI}  [L,R=301]

1 Ответ

1 голос
/ 01 апреля 2019

Чтобы соответствовать любым поддоменам, включая www, вы можете использовать шаблон регулярных выражений, который соответствует всему. Ваше RewruteCondition в настоящее время соответствует только субдомену www, замените его подстановочным знаком RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC].

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

  RewriteEngine on
  RewriteCond %{REQUEST_URI} ^/forum
  RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC]
  RewriteRule (.*) https://example.com%{REQUEST_URI} [L,R=301]

Обязательно очистите кеш браузера перед тестированием этого нового перенаправления.

...