我无法理解在rewriteCond中使用$ 1的apache重写

时间:2013-08-26 05:18:09

标签: regex apache mod-rewrite

例如:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]

我无法理解RewriteCond中$ 1的含义。

如果$ 1指定RewriteRule的(。*),那么我们可以在RewriteCond中使用它吗?

1 个答案:

答案 0 :(得分:0)

$1对应于RewriteRule中的第一个匹配组。这通常是为了防止无限循环(Apache中可怕的内部500错误)。

PS:此处可能不需要此条件,因为您之前已经有RewriteCond %{REQUEST_FILENAME} !-f