我正在使用的人有一个像SVN这样的RewriteRule,如下所示:
RewriteRule ^admin/ebay.*$ /yii.php/$1 [L]
我警告过他可能无法工作,因为比赛中没有对应于$ 1反向引用的子组。 它确实有用,而我感到困惑。 我很确定他的意图是以下两种情况之一:
RewriteRule ^admin/ebay.*$ /yii.php/$0 [L] # $0 is whole match
…要么…
RewriteRule ^admin/ebay(.*)$ /yii.php/$1 [L] # $1 subgroup
Apache是否对我从来不知道的反向引用做出假设? 为什么他的重写规则(最重要的)工作?
事实certificate, $1在这里真的没有做任何事情。 以下工作也是如此:
RewriteRule ^admin/ebay.*$ /yii.php [L]
(重写部分根本没有反引用。)
这是因为Yii正在查看$_SERVER['REQUEST_URI']来确定用户的意图。 事实上,Apache正在为预期的$1反向引用传递空白。
所以这里没有服务器故障。 🙂
尝试设置RewriteLog和RewriteLogLevel 。 日志可能会给你一个关于价值从何而来的暗示。