2011-07-11 45 views
22

Sự khác nhau giữa %1$1 bằng .htaccess là gì?

Ví dụ,

# 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] 

tôi đã được sử dụng Dave Child's .htaccess cheat sheetJackol's .htaccess cheat sheet cũng như Apache mod_rewrite docs nhưng thêm trợ giúp sẽ là tuyệt vời.

+5

Các tài liệu 'mod_rewrite' nói'% N' backreferences là dành cho mẫu RewriteCond trong khi '$ N' backreferences có nghĩa là cho mẫu RewriteRule. – BoltClock

Trả lời

40

%1 Đề cập đến mẫu được khớp trong điều kiện RewriteCond, trong khi $1 đề cập đến mẫu được khớp trong một RewriteRule.

Thông thường, sử dụng %n để tham chiếu đến các kết quả được đánh số từ RewriteCond mẫu regex điều kiện và sử dụng $n để tham chiếu đến các kết quả được đánh số từ RewriteRule mẫu regex.

Các vấn đề liên quan