2012-07-24 99 views
4

我有以下的.htaccess代碼:htaccess的重定向子域名

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www.mysite.co$ [NC] 
RewriteRule ^(.*)$ http://www.mysite.co/$1 [R=301,QSA,L] 

</IfModule> 

的問題是,所有子域名重定向到www.mysite.co/subdomain 我怎麼能aviod呢?

+1

,這似乎是有什麼打算根據重寫 – 2012-07-24 13:17:40

+0

你** **只試圖重定向當有人訪問'http://mysite.co /'? – 2012-07-24 17:15:20

回答

3

你在平原講重寫規則邏輯執行以下操作:

  1. 對於任何主機其他吳丹www.mysite.co(包括foo.mysite.com,blog.mysite.com等。 。)
  2. 永久重定向(301)http://www.mysite.co/
  3. 這是最後一條規則的.htaccess文件來檢查,所以拯救

要不你重定向r自己的子域,最簡單和最清晰的方式是用更多的重寫條件顯式處理它(參見下面的示例)。欲瞭解更多功夫htaccess的樂趣試試這個:.htaccess Wildcard Subdomains

<IfModule mod_rewrite.c> 

    RewriteEngine On 
    RewriteCond %{HTTP_HOST} !^www.mysite.co$ [NC]   
    RewriteCond %{HTTP_HOST} !^blog.mysite.co$ [NC] 
    RewriteCond %{HTTP_HOST} !^foo.mysite.co$ [NC] 
    RewriteRule ^(.*)$ http://www.mysite.co/$1 [R=301,QSA,L] 

</IfModule>