2011-07-11 114 views
22

.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但更多的幫助將是巨大的。

+5

'mod_rewrite'文檔說'%N'反向引用是針對RewriteCond模式的,而'$ N'反向引用是針對RewriteRule模式的。 – BoltClock

回答

40

%1指與RewriteCond條件相匹配的模式,而$1指的是與RewriteRule內部匹配的模式。

更一般地,使用%nRewriteCond條件的正則表達式模式參考編號匹配,並使用$nRewriteRule正則表達式模式參考編號匹配。

相關問題