Difference between $1 vs %1 in .htaccess
What is the difference between %1
and $1
in .htaccess?
For example,
# to remove www
RewriteCond %{HTTP_HOST} ^(\w+)\.mydomain\.com [NC]
RewriteRule .* http://myd开发者_如何学运维omain.com/%1 [R=301,L]
# versus
# RewriteRule .* http://mydomain.com/$1 [R=301,L]
I have been using Dave Child's .htaccess cheat sheet and Jackol's .htaccess cheat sheet as well as the Apache mod_rewrite docs but additional help would be great.
%1
Refers to a pattern matched in a RewriteCond
condition, while $1
refers to a pattern matched inside a RewriteRule
.
More generically, use %n
to refer to the numbered matches from RewriteCond
condition regex patterns, and use $n
to refer to numbered matches from RewriteRule
regex patterns.
精彩评论