2016-01-25 2 views
0

В настоящее время я работаю над приложением, которое было создано для работы с поддоменами подстановочных знаков. Мы изменили это поведение и вернулись к нормальной структуре URL-адресов, например, www.domain.com/slug/.Переадресовать поддомены обратно в корень

Я перенаправил все старые страницы поддоменов на новую страницу через htaccess и http: // до https://www. Теперь я только что нашел индексированный url с суб-поддоменом, например https://www.sub.domain.com. Мне интересно, как я могу написать перенаправление, поэтому все поддомены перенаправляются обратно на https://www.

В настоящее время в .htacces;

RewriteCond %{HTTP_HOST} !^(www|stage). [NC] 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

ответ

2

Я бы просто сделал правило, как это. Используйте доменное имя в правиле, так как вы все равно работаете с одним TLD. Затем он также должен обрабатывать поддокументы.

RewriteCond %{HTTP_HOST} !^(www|stage) [NC,OR] 
RewriteCond %{HTTP_HOST} ^(.+)\.(.+)\.domain\.com [NC] 
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L] 

RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

Спасибо! А как насчет нескольких? "^ (. +) \. (. +) \. (domain.com | domain.dev)" вот так? – directory

+0

Да, вы могли бы сделать что-то подобное для нескольких доменов. –

+0

Вы можете сократить его. '^ (. +) \. (. +) \. domain \. (com | dev)' –

Смежные вопросы