我有一些用戶嘗試訪問使用www.subdomain.example.com註冊爲subdomain.example.com的站點。將www.subdomain.example.com重定向到subdomain.example.com
是否有某種.htaccess規則可以添加到重定向使用www.subdomain.example.com到達subdomain.example.com的人?
另外,我必須更改DNS的東西嗎?
我有一些用戶嘗試訪問使用www.subdomain.example.com註冊爲subdomain.example.com的站點。將www.subdomain.example.com重定向到subdomain.example.com
是否有某種.htaccess規則可以添加到重定向使用www.subdomain.example.com到達subdomain.example.com的人?
另外,我必須更改DNS的東西嗎?
當然,使用像一個指令:
<VirtualHost *:80>
ServerName www.subdomain.example.com
Redirect permanent/http://subdomain.example.com/
</VirtualHost>
的Apache使用Redirect
指令,這就是爲什麼這種方法是行不通的一種常見的誤解(以當時/
後自動保存任何東西事實確實如此)。
另外,是的,您需要更改DNS記錄,因爲www.subdomain.example.com
是一個獨立的主機名,需要自己的A(或CNAME)記錄才能將瀏覽器指向適當的服務器。
RewriteCond %{HTTP_HOST} ^www.subdomain.domain.com
RewriteRule (.*) http://subdomain.domain.com/$1 [R=301,L]
使用重寫引擎是解決這一問題的一個非常重量級的方式。 'Redirect'指令完全一樣。 – 2010-05-26 01:22:34
@GregHewgill同意,而且,除非將它放在與www.subdomain.domain.com(或默認虛擬主機)相匹配的虛擬主機中,否則此答案將不起作用。 – 2014-03-19 17:39:47
你需要在httpd.conf中添加一個虛擬主機的指令,並重定向到Permament正確的子域名,並添加額外的DNS條目(CNAME是罰款)
這假定OP使用'NameVirtualHost *:80' – Martin 2010-05-26 01:24:08
@Martin:這是一個合理安全的假設。如果不是,那麼重要的部分是'Redirect'指令,而不是'VirtualHost'容器。 – 2010-05-26 01:26:37
人們已經在使用「www.subdomain.domain.com」訪問網站的事實表明,該DNS記錄可能已經存在......如果是這樣,則不需要改變。 – 2010-05-26 02:30:30