【问题标题】:Use Apache2 RewriteRule to change a dynamic URL segment into a parameter使用 Apache2 RewriteRule 将动态 URL 段更改为参数
【发布时间】:2014-06-17 18:30:06
【问题描述】:

如何使用 apache2 rewriterule 更改此 URL:

http://somewhere.com/sensors/435?pw=12345

进入这个:

http://somewhere.com/sensors?pw=12345&id=435

每个请求的“435”在哪里发生变化?

我在这里找到了部分答案: RewriteRule that preserves GET parameters 但是我被困在这一点上:

RewriteRule ^sensors/(.+)$ sensors?id=$1 [L] [QSA]

参数顺序无关紧要,我不知道如何更改现有的'?'变成'&'。

【问题讨论】:

    标签: apache mod-rewrite


    【解决方案1】:

    我没有尝试过类似的东西应该可以工作:

    RewriteRule ^sensors/([^?]+)?(.*)$ sensors?$2&id=$1 [L] [QSA]
    

    我们将捕获组一分为二,而不是只使用一个捕获组,从而使我们能够轻松地重建新的查询字符串。

    【讨论】:

    • 谢谢,我明白了。我尝试了您的示例并且目前忽略了规则,因此我正在使用正则表达式。一旦它正常工作,我会在这里发布。
    猜你喜欢
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    相关资源
    最近更新 更多