2016-08-14 77 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結束......這就是爲什麼它不工作!朋友,非常感謝您! –