重复的htaccess命令

时间:2012-10-26 23:44:50

标签: php .htaccess mod-rewrite

我需要无限期地继续这个,而不是每次都写出来。 有没有办法实现这个目标?

RewriteRule   ^(\w+)/?$   index.php?page=$1 [QSA]
RewriteRule   ^(\w+)/(\w+)/?$   index.php?page=$1&$1=$2 [QSA,L]
RewriteRule   ^(\w+)/(\w+)/(\w+)/?$   index.php?page=$1&$1=$2&$2=$3 [QSA,L]

所以一直通过$ 1 = $ 2然后$ 2 = $ 3所以page = blog& blog = article& article = date& date = 2012

我的PHP接下来并对此进行分析。所以可以像$ 1 - > $ 11长网址我知道这意味着我仍然可以启用添加。

AAA.com/blog/article/date/2012/?colour=blue

1 个答案:

答案 0 :(得分:0)

不是这样的。要获得替换$5占位符,您需要一个匹配组。

当然,人们可以按小组进行选择:

RewriteRule  ^(\w+)(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?(?:/(\w+))?/?$   index.php?page=$1&$1=$2&$2=$3&$3=$4&$4=$5&$5=$6  [QSA,L]

但是你有一些&=&=&=跟踪缺席的条目。通常它应该导致空$_GET[""],但PHP甚至忽略了这一点。所以,可能是一个选择。我觉得它不是一个更可读或更简洁的RewriteRule。