2015-03-03 71 views
1

我路由所有非www請求到WWW的域名使用此RewriteCondRewriteRule正向非www到www除了特定子域

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L] 

但有一個特定的子域,我想排除,例如blog.mydomain.tld。如何修改我的條件和規則以實現此目標?

回答

2

你可以只添加子域名在您的正則表達式的RewriteCond

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^(www|blog)\. [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L,NE] 
+0

感謝您的幫助(再次)!我會獎勵@Lepanto,因爲他仍然處於低位區域。 – 2015-03-03 08:07:32

+0

當然,這是您的特權,但應避免重複使用相同變量來提高規則執行的整體效率。請記住,這些規則會針對每個Web請求進行解析和執行。 – anubhava 2015-03-03 08:10:32

+1

這是一個有效的論點。謝謝你指點我。 – 2015-03-03 08:26:25

1

你嘗試加入

RewriteCond %{HTTP_HOST} !^www\.  
RewriteCond %{HTTP_HOST} !^blog\. 
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L] 
相關問題