универсальный .htaccess, чтобы написать - PullRequest
1 голос
/ 14 сентября 2011

Я использую .htaccess для всех своих сайтов.

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

для каждого адреса домена, который я должен заменить в файле .htaccess

есть ли какие-то хитрости, чтобы получить универсальный вариант, который меняется на основе имени размещенного сервера с HTTP_HOST name

Ответы [ 3 ]

3 голосов
/ 14 сентября 2011

Как насчет:

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

UPD : это правило работает локально

1 голос
/ 14 сентября 2011

Добавьте это в httpd.conf или apache.conf, в зависимости от того, что вы используете:

RewriteEngine On

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

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

Работает для HTTPS и по умолчанию хостов тоже.

0 голосов
/ 14 сентября 2011

Вы можете добавить свои правила перезаписи в httpd.conf, тогда он будет работать для всех сайтов.

...