RewriteCond - 重写查询,如果它包含" bar"和" foo"

时间:2015-11-20 07:49:43

标签: mod-rewrite

如果查询包含" foo"该规则将重写该查询。字符串中的任何地方。

RewriteCond %{QUERY_STRING} ^(.*)foo(.*)$
RewriteRule ^(.*)$ $1?%1qux%2 [R=301,L]

应该添加什么才能使其重写" foo"只有当字符串包含" bar"之前的某个地方" foo"。一个现实生活中的例子 / bar?a = x& foo = y

1 个答案:

答案 0 :(得分:1)

实际上,您的问题更多是关于RegEx(正则表达式)的问题。

您需要将重写条件更改为以下内容,以便在同一查询字符串中的bar之前的某处匹配foo

RewriteCond %{QUERY_STRING} ^(.*)bar(.*)foo(.*)$