2013-05-20 49 views
0

一直在挠挠我的头。我有一个我需要重定向的URL格式,只需要查询字符串的一部分。例如URL:模式匹配301,保留一个查询字符串参数

瓷砖形状= &颜色= &光洁度= &材料= &价格= & O = 60 &瓦= 50-双罗马古董红色-03-粒状

所有我从这个需要的是瓦片参数(50-双罗马古董红色-03-粒状)的值,以便然后我可以将其重定向到:

砖/细节/ 50双RO man-antique-red-03-granular

对于重写规则有什么建议吗?

谢谢

回答

0

这对我的箱子有效。我们在重写字符串后包含?以防止行为或QSA或查询字符串追加,如果没有传递查询字符串,这是默认行为。如果您忘记了?,那么它会创建一个循环。

RewriteCond %{QUERY_STRING} tile=([^&]+)&?.*$ 
RewriteRule (.*) /tiles/detail/%1? [L] 
0

这题外话答案给了我什么,我一直在寻找:

RewriteCond %{QUERY_STRING} &tile=([0-9a-zA-Z-]+) 
RewriteCond %{REQUEST_URI} !tiles/detail 
RewriteRule tiles /tiles/detail/%1? [R=301] 
相关问题