【问题标题】:rewrite Url parameters doesn't work重写 Url 参数不起作用
【发布时间】:2015-09-16 23:29:17
【问题描述】:

我愿意用 htaccess 重写 url:

RewriteEngine On
RewriteBase /
RewriteRule    ^low/?\?id=([0-9]+)$    index.php?serv=5&id=$1    [NC,L] #doesnt work

但是我没有成功将参数从第一个重定向到更改的 url。它给我一个错误 404

但如果我只是这样做:RewriteRule ^low/?$ index.php?serv=5 [NC,L],它确实有效

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    您无法匹配RewriteRule 中的查询字符串。此外,您不需要捕获查询字符串,因为如果您使用 QSA 标志作为 QSA(查询字符串附加)标志将保留现有的查询参数,同时添加新的参数,它将被传递给目标。

    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^low/$ index.php?serv=5&id=$1 [QSA,NC,L]
    

    【讨论】:

      猜你喜欢
      • 2014-06-04
      • 2016-09-21
      • 2021-09-12
      • 2016-12-18
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多