.htaccess中$ 1与%1之间的差异

时间:2011-07-11 18:38:00

标签: apache .htaccess mod-rewrite

.htaccess中%1$1之间有什么区别?

例如,

    #  to remove www  
    RewriteCond %{HTTP_HOST} ^(\w+)\.mydomain\.com [NC]

    RewriteRule .* http://mydomain.com/%1 [R=301,L]    
    #    versus
    #    RewriteRule .* http://mydomain.com/$1 [R=301,L]

我一直在使用Dave Child's .htaccess cheat sheetJackol's .htaccess cheat sheet以及Apache mod_rewrite docs,但额外的帮助会很棒。

1 个答案:

答案 0 :(得分:51)

%1是指在RewriteCond条件下匹配的模式,而$1是指在RewriteRule内匹配的模式。

更一般地,使用%n来引用RewriteCond条件正则表达式模式中的编号匹配,并使用$n来引用RewriteRule正则表达式模式中的编号匹配。< / p>