Как мне использовать .htaccess для принудительного использования www.при использовании Zend Framework

StackOverflow https://stackoverflow.com/questions/673778

Вопрос

Я хочу принудительно создать www.префикс на моем веб-сайте с помощью перенаправления .htaccess 301.В настоящее время я пытаюсь:

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

Который обычно работает, но я использую Zend Framework, который заставляет все запросы перенаправляться обратно на http://www.mysite.com/index.php независимо от первоначального запроса.

Например...

http://mysite.com/blog, 
http://mysite.com/contact,
http://mysite.com/blog/this-is-my-article,

Все будут перенаправлены на http://www.mysite.com/index.php

Однако, если я изначально запрашиваю определенный файл, например...

http://mysite.com/some-file.htm

Перенаправление работает должным образом, перенаправляя на http://www.mysite.com/some-file.htm

Это было полезно?

Решение

В первый раз не забудьте включить перезапись ("RewriteEngine включен").Последняя строка важна, если вы используете Zend Framework.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]
RewriteRule !\.(pdf|php|js|ico|txt|gif|jpg|png|css|rss|zip|tar\.gz)$ index.php

Теперь URL-адрес...

http://mysite.com/some-file.htm

...перенаправить на http://www.mysite.com/some-file.htm но используйте index.php

Другие советы

Не забывайте игнорировать поддомены при перенаправлении на www.

http://www.theblogaholic.com/2011/01/16/force-www-using-htaccess-except-for-subdomains/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top