2013-10-09 2 views
1

Я бы хотел перенаправить сайт на запуск, если адрес без www. Например, если:Переадресация на www - htaccess

http://page.com - should redirect to http://www.page.com 
http://page.com/news/first - should redirect http://www.page.com/news/first 

я есть:

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

, почему это не работает? Как я могу это сделать?

+0

У вас установлен и включен модуль 'mod_rewrite'? У вас также есть «RewriteEngine On» перед первым «RewriteCond»? – PhearOfRayne

+0

Да, у меня есть и другие условия, но только это не работает – waltermadfos

+0

Если у вас есть еще что-нибудь для вашего .htaccess, отправьте его. Может быть что-то до этих строк, вызывающих проблему. – PhearOfRayne

ответ

0

Попробуйте этот код:

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 
+0

все еще не работает. Другая перезапись работает, но это не – waltermadfos

+0

Убедитесь, что это первое правило сразу после строки 'RewriteEngine On'. – anubhava

0

Дайте этому попытку. Поместите их как первые строки в ваш .htaccess. Если у вас уже есть оператор RewriteEngine on, просто игнорируйте его и используйте последние две строки.

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^(www\.).+$ [NC] 
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] 
Смежные вопросы