универсальный .htaccess c www и без www

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www\.(.*) [NC]

RewriteRule ^(.*)$ http://%1 [R=301,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

 

наоборот

 

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^www\.(.*) [NC]

RewriteRule ^(.*)$ http://%1 [R=301,QSA]

 

 

Ну и простой …

 

Если вдруг у Вас непонятка и каша с адресами, а сами Вы запутались, то на всякий случай для себя и для остальных напомню, как создать самый простой 301 редирект всех страниц без www на страницы с www:
RewriteCond %{HTTP_HOST} !^www\.mysite\.ru$ [NC]
RewriteRule ^(.*)$ http://www.mysite.ru%{REQUEST_URI} [L,R=301]

Соотвественно, наоборот. Все страницы сайта с www направим на страницы сайта без www:
RewriteCond %{HTTP_HOST} ^www\.mysite\.ru$ [NC]
RewriteRule ^(.*)$ http://mysite.ru%{REQUEST_URI} [L,R=301]

Код будет работать для apache и .htaccess при условии, что загружен mod_rewrite.
Все, на этом пост кончился. Никакой новой истины я не открыл. А-ля блокнот.

Добавить комментарий

Ваш e-mail не будет опубликован.