.htaccess 301重定向问题
问题描述:
我在为.htaccess中的以下问题编写规则时遇到问题。这是我需要的。.htaccess 301重定向问题
WHEN URL IS THIS
www.mysite.com/cat/2011/subcat1/subcat2/product.htm?page=2
它应该301重定向到该
www.mysite.com/cat/2011/subcat1/subcat2/product/2.htm
能否请你告诉我如何做到这一点?
感谢
答
----- EDITED和测试答案----------
RewriteEngine On
RewriteCond %{QUERY_STRING} page=(\d+)
RewriteRule ^cat/(\d+)/([^/]+)/([^/]+)/product\.htm http://www.mysite.com/cat/$1/$2/$3/product/%1.htm? [R=301,L]
- 重写规则匹配的只有网址的一部分,而不是查询字符串。所以,RewriteCond用于匹配查询字符串。
- 请注意,url中的匹配项用作$ N,并且查询字符串中的匹配项用作%N
- 重写的url的末尾有一个问号。这可以防止将原始查询字符串添加到新重写的url中。
对于任何数量的subcats的:
RewriteEngine On
RewriteCond %{QUERY_STRING} page=(\d+)
RewriteRule ^cat/(\d+)/(.+)/product\.htm http://www.mysite.com/cat/$1/$2/product/%1.htm? [R=301,L]
感谢。让我试试这个,然后我会回来。 – Ali 2011-01-12 09:41:48