htaccess非www到www,同时保持准确的网址

时间:2013-04-16 01:30:09

标签: php .htaccess zend-framework mod-rewrite centos6

我在我的htaccess中使用以下内容

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

除了我有这样的网址website.com/name?query=1

之外,这是有效的

重写是在键入带有非www

的网址时删除/ name

所以website.com/name?query=1会重写为www.website.com/?query=1

我也使用Zend Framework,并在使用

时使用默认/公共文件夹
RewriteCond %{HTTP_HOST} !^www
RewriteRule ^(.*)$ http://www.website.com/$1 [QSA,R=301,L]

在重写中,链接看起来像www.website.com//public/name?query=1

我不需要它不写//公开,我不想改变网站的结构,因为有很多指向/ public文件夹的指针

如何让RewriteRule将非www更改为www并且不删除“name”?

2 个答案:

答案 0 :(得分:2)

试试这个。

# No W's to W's keeping all the URI items intact
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]

答案 1 :(得分:0)

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