.htaccess 模式匹配301,保留一个querystring参数
这件事让我抓狂。我有一个URL格式,我需要重定向,只需要查询字符串的一部分。示例URL: 瓷砖?形状=&color=&finish=&material=&price=&o=60&tile=50-double-roman-antique-red-03-granular 我所需要的只是tile参数(50-double-roman-antique-red-03-granular)的值,这样我就可以将它重定向到: 瓷砖/详图/50-双罗马-古董-红色-03-颗粒状 对重写规则有什么建议吗.htaccess 模式匹配301,保留一个querystring参数,.htaccess,mod-rewrite,http-status-code-301,.htaccess,Mod Rewrite,Http Status Code 301,这件事让我抓狂。我有一个URL格式,我需要重定向,只需要查询字符串的一部分。示例URL: 瓷砖?形状=&color=&finish=&material=&price=&o=60&tile=50-double-roman-antique-red-03-granular 我所需要的只是tile参数(50-double-roman-antique-red-03-granular)的值,这样我就可以将它重定向到: 瓷砖/详图/50-双罗马-古董-红色-03-颗粒状 对重写规则有什么建议吗 谢谢这在我的盒
谢谢这在我的盒子上很管用。我们在重写字符串之后包含
?
,以防止该行为,或者QSA
或查询字符串append,如果没有传递查询字符串,这是默认行为。如果忘记了?
,则会创建一个循环
RewriteCond %{QUERY_STRING} tile=([^&]+)&?.*$
RewriteRule (.*) /tiles/detail/%1? [L]
这个离题的答案给了我想要的:
RewriteCond %{QUERY_STRING} &tile=([0-9a-zA-Z-]+)
RewriteCond %{REQUEST_URI} !tiles/detail
RewriteRule tiles /tiles/detail/%1? [R=301]