Apache2 WWW удалить FAIL с .htaccess

Я хочу удалить "www" из своего домена на apache2. Я перепробовал множество примеров, которые делают это с файлом .htaccess, но ни один из них не работает. Итак, вот мой .htacces, который принадлежит пользователю root с chmod 644:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]
RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]

Это не удаление www , и если я наберу http://your-site.com в своем браузере (Firefox), он перенаправит меня на стиль www.your-domain.com. EDIT: это был сбой браузера, но пред. проблема существует.

Мой apache2 уже настроен для этого основного домена без www., и это был весь мой .htaccess.


person z2s8    schedule 06.10.2012    source источник
comment
У вас есть другие правила? Или CMS или какой-то другой фреймворк? Поскольку ваши правила не добавляют www.   -  person Jon Lin    schedule 07.10.2012
comment
Нет, это все мои .htaccess, и у меня нет cms, только обычные файлы php в каталоге. Во всяком случае я нашел, сила www. был сбой моего браузера, но он все еще не удаляет www, если я открываю с www.   -  person z2s8    schedule 07.10.2012


Ответы (2)


Простое решение, которое я использую из Нет WWW, Better SEO должен начинать каждый .htaccess со следующего:

RewriteEngine On
RewriteBase /

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

Это просто вырезание и вставка без проблем. Это первое, что у меня есть на каждом .htaccess на сотнях сайтов и доменов.

person Lan Tait    schedule 16.10.2012

Найдите ошибку в логе апача:

Недопустимая команда «RewriteEngine», возможно, написана с ошибкой или определена модулем, не включенным в конфигурацию сервера.

Итак, проблема в том, что apache2 был неправильно настроен...

Решено с помощью команды: sudo a2enmod переписать из этой темы: https://stackoverflow.com/a/11649987/1725341

person z2s8    schedule 08.10.2012