.htaccess Mod Rewrite追加查询字符串参数,不替换
我正在尝试生成一个涉及一些特定任务的外部重定向.htaccess Mod Rewrite追加查询字符串参数,不替换,.htaccess,mod-rewrite,redirect,helicontech,.htaccess,Mod Rewrite,Redirect,Helicontech,我正在尝试生成一个涉及一些特定任务的外部重定向 如果在URL中找到特定的查询字符串值,请重定向 如果重定向,请替换其中一个查询字符串参数名称,但不替换其值 如果#1为false,则忽略重写并继续 示例:我有url 首先,如果参数c=blah,则重定向到 其次,将a替换为x参数,这样最终的URL是 下面是我在研究和之后到目前为止最好的猜测 但是,URL是附加查询字符串,而不是替换 我被重定向到http://barfoo.com/?x=123&b=456&c=blah&a=123&b=456&c=b
blah
,则重定向到
其次,将a
替换为x
参数,这样最终的URL是
下面是我在研究和之后到目前为止最好的猜测
但是,URL是附加查询字符串,而不是替换
我被重定向到http://barfoo.com/?x=123&b=456&c=blah&a=123&b=456&c=blah
拍额头
从标志中删除QSA
解决了问题QSA
意味着“将现有查询字符串附加到当前重写规则”。它忽略您正在添加的任何新查询字符串参数
我认为重写规则本身需要有查询字符串参数
RewriteRule^(.*)$http://barfoo.com/?x=%1&b=%2&c=blah [NC,L,R=301]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.foobar\.com$ [NC]
RewriteCond %{QUERY_STRING} ^a=(.*)&b=(.*)&c=blah$ [NC]
RewriteRule ^(.*)$ http://barfoo.com/?x=%1&b=%2&c=blah [NC,L,QSA,R=301]