【问题标题】:Apache Rewrite rule with decode url带有解码 url 的 Apache 重写规则
【发布时间】:2016-07-30 20:37:46
【问题描述】:

我有一个基本的重写规则

RewriteRule ^/v1/(.*)$ http://127.0.0.1:8000/v1/$1 [P,L,QSA]

重写工作正常,但是我遇到了一个来自 apache 的请求。

https://example.com/v1/test/bd95f52d72942198eb84e1b6998a6259/phone_numbers/%2B61180087654

Apache 正在将此 URL 解码为

https://example.com/v1/test/bd95f52d72942198eb84e1b6998a6259/phone_numbers/+61180087654

我希望 apache 将相同的请求传递给我的代码。我不希望 + 带有数字。我应该改变什么以获得预期的结果。

谢谢

【问题讨论】:

  • 这些 URL-s 是等价的。加号登录路径组件必须按字面意思对待。真正的问题在于解码电话号码的代码。

标签: apache


【解决方案1】:

除非您有其他使用 rewrite 的原因,否则请尝试使用此方法而不是 RewriteRule ...

ProxyPass        /v1/ http://127.0.0.1:8000/v1/ nocanon
ProxyPassReverse /v1/ http://127.0.0.1:8000/v1/

(在某些情况下,ProxyPass 还应该比重写具有性能优势)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2016-12-07
    相关资源
    最近更新 更多