【问题标题】:Rewrite an url get parameter name重写一个url获取参数名
【发布时间】:2013-12-09 00:27:44
【问题描述】:

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

原网址:

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

应该进入(改变URL1>URL2和monkey>abe:

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

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

【问题讨论】:

    标签: apache mod-rewrite url-rewriting


    【解决方案1】:

    使用 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]
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多