与大多数编码器一样,我喜欢在编写内容时采用最短且最简单的路径,而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]
基本上我只需要能够将某些部分定义为可选......我不知道是否可行,但我确实可以使用帮助。
答案 0 :(得分:0)
这不是您正在寻找的答案,但您可以简化重写规则:
RewriteRule ^giving-tree/ giving-tree.php
然后解析$_SERVER['REQUEST_URI']
中的giving-tree.php
。这是一个简单的版本:
$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];
}