代码之家  ›  专栏  ›  技术社区  ›  Brum

带问号的HTAccess重写规则

  •  0
  • Brum  · 技术社区  · 7 年前

    我有一个关于rewriterule的问题,我有一个rewriterule,里面有一个带参数的问号,参数后面的值永远不会相同,所以参数后面会有不同的数字。

    我的链接:

    http://www.website.com/home.html?start=96
    

    我的重写规则:

    RewriteRule ^home\.(.*)[?]start=(.*)$ http://website.com?start=$1 [R=301,L]
    

    预期输出:

    http://www.website.com?start=96
    

    我已经搜索了一个awnser,但我真的不知道其他人在awnser中发生了什么,所以我问这个问题,以便我可以更好地查看它。谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   julp    7 年前

    RewriteRule仅与路径匹配,不包括查询字符串。对于URL的任何其他部分,都需要使用RewriteCond和相应的变量。

    RewriteCond %{QUERY_STRING} (?:^|&)start=([^&]*)
    RewriteRule ^home\. http://website.com?start=%1 [L,R=permanent]
    

    注意:我尊重您最初的模式