【问题标题】:can you help me simplify this RewriteRule?你能帮我简化这个 RewriteRule 吗?
【发布时间】:2011-12-08 14:33:26
【问题描述】:

和大多数程序员一样,我喜欢在编写代码时走最短、最简单的路线,mod_rewrites 也不例外。我只是想知道是否有办法简化此代码,以便我可以更轻松地添加它。

RewriteRule ^giving-tree/([0-9+]?)/?$ giving-tree.php?ageBegin=$1 [nc]
RewriteRule ^giving-tree/([0-9+]?)/([0-9+]?)/?$ giving-tree.php?ageBegin=$1&ageEnd=$2 [nc]
RewriteRule ^giving-tree/([0-9+]?)/([0-9+]?)/([0-9+]?)/?$ giving-tree.php?ageBegin=$1&ageEnd=$2&page=$3 [nc]

基本上我只需要能够将某些部分定义为可选......我不知道这是否可能,但我肯定可以使用帮助。

【问题讨论】:

    标签: php .htaccess mod-rewrite url-rewriting friendly-url


    【解决方案1】:

    这不是您要寻找的答案,但您可以将重写规则简化为:

    RewriteRule ^giving-tree/ giving-tree.php
    

    然后解析giving-tree.php中的$_SERVER['REQUEST_URI']。这是一个简单的版本:

    $parts = explode('/', $_SERVER['REQUEST_URI']);
    if(isset($parts[1]){
      $ageBegin = $parts[1];
    }
    if(isset($parts[2]){
      $ageEnd = $parts[2];
    }
    if(isset($parts[3]){
      $page = $parts[3];
    }
    

    【讨论】:

      猜你喜欢
      • 2010-09-27
      • 1970-01-01
      • 2020-01-27
      • 2021-01-28
      • 1970-01-01
      • 2021-08-29
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多