您好我曾尝试使用碎片拼凑完整的工作重写但不是很远。
我有数千页,例如/ parts /?page = 100我想转发到/ parts / page / 100 / 但它变得复杂,因为页面参数可能不是第一个,我也希望剥离所有其他参数信息,例如它应该更改以下
/parts/?page=100/ -> /parts/page/100/
/parts/?xyz=1&page=100/ -> /parts/page/100/
/parts/?xy=1&z=1&page=100/ -> /parts/page/100/
/parts/?xy=1&page=100&z=1/ -> /parts/page/100/
到目前为止,我已经使用此代码,但仅适用于上面列表中的顶行。
RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule ^parts /parts/page/%1? [NC,R,L]
哪些重写规则适用于上述所有示例?
答案 0 :(得分:0)
您可以使用:
RewriteCond %{QUERY_STRING} (?:^|&)page=([^&]+) [NC]
RewriteRule ^parts/?$ /parts/page/%1? [NC,R,L]
使用(?:^|&)
模式可以在查询字符串中的任何位置读取参数page
。