2016-08-14 59 views
1

我有这样的htaccess的规则:重定向非www到www页面,但它是一个正常的网址?

RewriteRule ^category/([\w-]+)/?$ category.php?categoria=$1&id=1 [L,QSA,NC] 


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

,如果有人类型mysite.com会重定向到WWW .mysite.com

的问题是,我有一个名为category页:

www.mysite.com/category/animals

如果用户类型,而WWW会重定向到www,但是URL将是:

www.mysite.com/category.php?categoria=animals & ID = 1

和我想它重定向到类别/动物没有完整的URL(category.php?categoria = animals & id = 1)... 什么是错的?

回答

1

不是重写使用$1的,简单地重定向回用%{REQUEST_URI}变量:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

还是同样的事情,/当我删除了www它将成为WWW ... category.php categoria =动物&ID = 1 –

+1

@RickJoe清除浏览器的缓存。另外,如果还有其他重写规则,则上述规则应该首先出现在整个文件/列表中。 – hjpotter92

+0

哦,它现在的作品!它是在我的htaccess结束......这就是为什么它不工作!朋友,非常感谢您! –

相关问题