.htaccess немаскированный / принудительный перенаправление поддомена

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

т.е. *.domain.com => www.domain.com

например, www.example.domain.com => www.domain.com

Когда человек вводит www.example.domain.com в адресную строку браузера, я хочу, чтобы он перенаправлял без масок, чтобы URL-адрес действительно заметно изменился на www.domain.com.

Мой нынешний файл.htaccess (показанный ниже) вызывает "www" для всех без трафика www, т.е. http://domain.com становится http://www.domain.com, но не могу понять, какие команды RewriteCond и т. д. использовать для вышеуказанного требования.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ "http\:\/\/www\.domain\.com\/$1" [R=301,L]

Любая помощь будет принята с благодарностью! Заранее спасибо.

2 ответа

Получите ваш.htaccess вот так:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

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

Это просто, попробуйте:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,QSA,R=301]

Вам не понадобится ваше правило, которое добавляет www, так что просто удалите его.

Другие вопросы по тегам