.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 sheet和Jackol's .htaccess cheat sheet以及Apache mod_rewrite docs,但额外的帮助会很棒。
答案 0 :(得分:51)
%1
是指在RewriteCond
条件下匹配的模式,而$1
是指在RewriteRule
内匹配的模式。
更一般地,使用%n
来引用RewriteCond
条件正则表达式模式中的编号匹配,并使用$n
来引用RewriteRule
正则表达式模式中的编号匹配。< / p>