【问题标题】:.htaccess RewriteRule with 3 Get parameters.htaccess RewriteRule 带 3 个 Get 参数
【发布时间】:2014-06-12 21:15:26
【问题描述】:

我将用户.htaccess 文件重定向

http://www.example.org/results.php?q=anything&start=0&type=web

http://www.example.org/search/anything/0/web

这可能吗? 这时候,我只重定向了 q-GET 参数,用这个 RewriteRule:

RewriteRule ^search/(.*)$ results.php?q=$1 [L,QSA]

它仍然有效,但我不知道重写 3 个 Get 参数。

【问题讨论】:

    标签: php .htaccess mod-rewrite redirect


    【解决方案1】:
    RewriteRule ^search/(.*)/(.*)/(.*)$ results.php?q=$1&start=$2&type=$3 [L,QSA]
    

    【讨论】:

      【解决方案2】:
      RewriteRule ^(search)/(.*)/(\d+)/(.*)$ results.php?q=$2&start=$3&type=$4 [L,QSA]
      

      小解释:

      当您使用(.*) 进行正则表达式匹配时,您可以使用$# 获得匹配部分,其中# 是一个增量数字,表示链中每个匹配项的位置。

      • search/(.*) = search/$1
      • search/(.*)/(.*) = search/$1/$2
      • search/(.*)/(.*)/(.*) = search/$1/$2/$3

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-16
        • 2015-09-28
        • 1970-01-01
        • 2022-03-22
        相关资源
        最近更新 更多