首先,让我这样说:我吮吸正则表达式和htaccess。我正在尝试制定一个能够将url段正确解析为变量的规则。到目前为止,我有这个:
RewriteRule ^([^/]+)/?$ index.php?query[]=$1 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?query[]=$1&query[]=$2 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?query[]=$1&query[]=$2&query[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?query[]=$1&query[]=$2&query[]=$3&query[]=$4 [QSA,L]
它有效,但我觉得它比它需要的时间更长;如果我想要5个或6个或7个变量怎么办?是否有更简洁的方法来写出来?
另外,当我吐出查询数组时,第一个元素总是index.php。怎么了?
答案 0 :(得分:1)
不要使用RewriteRule
将pathinfo转换为查询参数,而只需在Apache HTTP Server中启用MultiViews,并在$_SERVER['PATH_INFO']
中使用index.php
,而explode()
帮助不大。