2010-05-26 32 views

回答

16

當然,使用像一個指令:

<VirtualHost *:80> 
    ServerName www.subdomain.example.com 
    Redirect permanent/http://subdomain.example.com/ 
</VirtualHost> 

的Apache使用Redirect指令,這就是爲什麼這種方法是行不通的一種常見的誤解(以當時/後自動保存任何東西事實確實如此)。

另外,是的,您需要更改DNS記錄,因爲www.subdomain.example.com是一個獨立的主機名,需要自己的A(或CNAME)記錄才能將瀏覽器指向適當的服務器。

+0

這假定OP使用'NameVirtualHost *:80' – Martin 2010-05-26 01:24:08

+0

@Martin:這是一個合理安全的假設。如果不是,那麼重要的部分是'Redirect'指令,而不是'VirtualHost'容器。 – 2010-05-26 01:26:37

+0

人們已經在使用「www.subdomain.domain.com」訪問網站的事實表明,該DNS記錄可能已經存在......如果是這樣,則不需要改變。 – 2010-05-26 02:30:30

4
RewriteCond %{HTTP_HOST} ^www.subdomain.domain.com 
RewriteRule (.*) http://subdomain.domain.com/$1 [R=301,L] 
+1

使用重寫引擎是解決這一問題的一個非常重量級的方式。 'Redirect'指令完全一樣。 – 2010-05-26 01:22:34

+0

@GregHewgill同意,而且,除非將它放在與www.subdomain.domain.com(或默認虛擬主機)相匹配的虛擬主機中,否則此答案將不起作用。 – 2014-03-19 17:39:47

-1

你需要在httpd.conf中添加一個虛擬主機的指令,並重定向到Permament正確的子域名,並添加額外的DNS條目(CNAME是罰款)

相關問題