1

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

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

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

重写是在输入带有非 www 的 url 时删除 /name

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

我也在使用 Zend Framework 并在使用时拥有默认的 /public 文件夹

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

在重写它使链接看起来像这样www.website.com//public/name?query=1

我不需要它不写 //public 并且我不想更改站点的结构,因为有很多指向 /public 文件夹的指针

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

4

2 回答 2

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]
于 2013-04-16T01:35:39.023 回答
0
RewriteCond %{HTTP_HOST} !^www
RewriteRule ^(.*)$ http://www.website.com/$1 [QSA,R=301,L]
于 2013-04-16T02:38:12.840 回答