rewritecond $1的疑惑(ci的.htaccess)

我看ci的.htaccess中, rewritecond $1!^(index.php|, 有些疑惑,这个$1代表的是什么呢?是rewriterule中的 ^(.*)$ 这里的(.*)吗? 看起来应该是的,但如果是的话,我记得正则表达式不是只有后向引用吗? 怎么rewritecond就可以引用rewriterule里的分组了呢?这还是后向引用吗? 

SORRY,找到答案了:Regex Back-Reference Availability
One important thing here has to be remembered: Whenever you use parentheses in Pattern or in one of the CondPattern, back-references are internally created which can be used with the strings $N and %N (see below). These are available for creating the strings Substitution and TestString. Figure 1 shows to which locations the back-references are transferred for expansion as well as illustrating the flow of the RewriteRule, RewriteCond matching.

 mod_rewrite 规则修正符
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联

如果规则匹配则正常处理,以下修正符无效

8)  T=MIME-type(force MIME type) 强制MIME类型
9) NS  只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符   %3d$1  等价于 =$1

YII的rewrite配置:

<VirtualHost *:80>
    DocumentRoot d:/www/phpshare
    ServerName www.duskjoy.com    RewriteEngine on
    RewriteCond $1 !^(index.php|css|images|js|robots.txt)

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
  #  Rewritebase /
    RewriteRule ^/(.*)$ /index.php/$1 [L,QSA]

<p></VirtualHost></p>