Apache Htaccess重定向并更改查询字符串

时间:2014-07-01 16:12:36

标签: apache .htaccess rewrite

说我有这个网址结构

http://sub1.mydomain.com/?parameter_1=a1&parameter_2=b1
http://sub2.mydomain.com/?parameter_1=a2&parameter_2=b2
http://sub3.mydomain.com/?parameter_1=a3&parameter_2=b3

我需要使用以下规则重写网址 1.域名将保持不变 2. parameter_1将保持不变 3. parameter_2将通过手动列表更改 4.需要对parameter_2的每次更改使用单个条件

关于类似的东西,我真的不认为它有效

RewriteCond %{QUERY_STRING} ^parameter_2=b1$
RewriteRule ^(.*)$ %{QUERY_STRING}&parameter_2=b2 [R=301,L]

例如

old url http://sub1.mydomain.com/?parameter_1=a1&parameter_2=b1

new url http://sub1.mydomain.com/?parameter_1=a1&parameter_2=c1

1 个答案:

答案 0 :(得分:0)

这条规则有点复杂,但可以做到。

在根.htaccess中使用此规则:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.+?&)?parameter_2=b1(&.+)?$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1parameter_2=c1%2 [R=302,NE,L]