2012-06-21 46 views
0

有沒有辦法免除任何請求到mod_rewrite中的子域名?現在,我有一個將頁面重定向到index.html的單頁應用程序。mod_rewrite:不要重寫任何子域名

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !index 
    RewriteRule (.*) index.html [L] 
</IfModule> 

但我要確保調用subdomain.mydomain.com永久被重寫豁免。

回答

0

您可以使用子域上的條件和-替代來停止重寫。從http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule

有一個名爲特殊的替代串 ' - ',這意味着:NO 替代!這在提供重寫規則時很有用,只有 與URL匹配,但不能替代任何內容。

嘗試

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ [NC] 
RewriteRule .* - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index 
RewriteRule (.*) index.html [L]