htaccess мод переписать игнорируя косую черту - PullRequest
1 голос
/ 07 июня 2011

Я безуспешно искал и искал это простое перенаправление htaccess с URL-адреса без www на www.

У меня в корне сайта htaccess есть следующее:

RewriteEngine On
RewriteBase /

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

Из того, что я прочитал, это должно работать, но вместо того, чтобы htp: //domain.com/index.html переходил на htp: //www.domain.com/index.html, он переходит на htp: // www .domain.comindex.html / - Обратите внимание на игнорируемую косую черту между .com и index.html

Я также пробовал следующие условия перезаписи: (очевидно, не все сразу)

RewriteCond %{HTTP_HOST} domain.com [NC]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]

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


ПРИМЕЧАНИЕ. Домены, как правило, имеют 'http', но из-за ограничения переполнения стека URL, мне пришлось удалить 't':)

1 Ответ

0 голосов
/ 07 июня 2011

Проверенное решение, которое просто работает (по крайней мере, на всех моих производственных серверах) :

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