重写url get参数名称

时间:2013-08-13 19:49:53

标签: apache mod-rewrite url-rewriting

我想在我的网址中重写一个参数,同时将流量引导到另一个网址。应该使用外部程序调用url,因此实际上不需要重定向用户。

原始网址:

http://URL1/?parameter1=1234&monkey=12345

应该进入(更改URL1> URL2和猴子> abe:

http://URL2/?parameter1=1234&abe=12345

搜索了很多mod_rewrite示例,但没有找到任何重写参数名称的信息(不是值),同时重定向到不同的URL。

1 个答案:

答案 0 :(得分:0)

使用mod_rewrite并且无需客户端redir,您无法更改主机。 如果您尝试以下操作,则可以更改查询字符串:

RewriteCond %{QUERY_STRING} ^parameter1=([0-9]+)&monkey=([0-9]+)$
RewriteRule / /?parameter1=%1&abe=%2

但是,为了更改主机,您必须执行客户端redir:

RewriteCond %{QUERY_STRING} ^parameter1=([0-9]+)&monkey=([0-9]+)$
RewriteRule / http://URL2/?parameter1=%1&abe=%2  [R]

没有客户端redir的另一个选项可能是使用代理;这样,URL1的apache服务器将代理请求到URL2的Web服务器并将响应返回给客户端