如果查询包含" foo"该规则将重写该查询。字符串中的任何地方。
RewriteCond %{QUERY_STRING} ^(.*)foo(.*)$
RewriteRule ^(.*)$ $1?%1qux%2 [R=301,L]
应该添加什么才能使其重写" foo"只有当字符串包含" bar"之前的某个地方" foo"。一个现实生活中的例子 / bar?a = x& foo = y
答案 0 :(得分:1)
实际上,您的问题更多是关于RegEx(正则表达式)的问题。
您需要将重写条件更改为以下内容,以便在同一查询字符串中的bar
之前的某处匹配foo
:
RewriteCond %{QUERY_STRING} ^(.*)bar(.*)foo(.*)$