2009-10-07 48 views
1

對於處理通配符子域名的問題有一個答案,但它不能滿足我所有的需要。我需要做的所有這些,假設例如域是example.com使用Apache處理通配符子域名,不包括www,包括SEF

  1. 如果給出的域是www.example.com應該301重定向到example.com因爲我不希望重複的內容會在搜索引擎中產生問題。

  2. 如果域是anythingelse.example.com應該靜靜地重定向到example.com使軟件可以拿起請求什麼子域名並據此採取行動。

  3. 此外,並非指實際的文件或目錄應該被重定向到的index.php域名之後的任何規範(再次軟件會找出這一切的意思)。所以anything.example.com/some/search/engine/friendly/specification應該重定向到example.com/index.php

我可以得到這部分工作,但尚未實現整個事情。任何優惠!

回答

0

嘗試下列規則:

# 1. rule 
RewriteCond %{HTTP_HOST} =www.example.com 
RewriteCond %{HTTPS} ^on(s)| 
RewriteRule^http%1://example.com%{REQUEST_URI} [L,R=301] 

# 2. rule 
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
RewriteRule^/absolute/filesystem/path/to/example.com%{REQUEST_FILENAME} [L] 

# 3. rule 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [L]