2009-03-23 8 views
3

Je veux forcer un www. préfixe sur mon site Web en utilisant une redirection .htaccess 301. J'essaie actuellement:Comment utiliser .htaccess pour forcer www. en utilisant Zend Framework

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

qui fonctionne normalement, mais je suis en utilisant Zend Framework qui fait toutes les demandes à redirigés vers http://www.mysite.com/index.php quelle que soit la demande initiale.

Par exemple ...

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

seront tous redirigés vers http://www.mysite.com/index.php

Cependant, si je demande d'abord un fichier spécifique, comme ...

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

Redirect fonctionne correctement, rediriger vers http://www.mysite.com/some-file.htm

Répondre

4

Dans un premier temps, n'oubliez pas d'activer la réécriture ("RewriteEngine on"). La dernière ligne est importante si vous utilisez 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 

Maintenant l'url ...

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

... redirigent à http://www.mysite.com/some-file.htm mais utilisez le index.php

Questions connexes