2014-02-21 57 views
5

我有一個相當簡單的問題,誰知道,我只是找不到我需要的答案。我已經轉移到vps並嘗試自己配置vm。我需要重定向:htaccess將所有子域名+ www重定向到域名與cname,虛擬主機和htaccess

  1. domain.com - 默認
  2. www.domain.com - > domain.com
  3. * .domain.com - > domain.com

I`ve已經完成的.htaccess的WWW - >非www,所以我有:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

新增A和CNAME:

  • WWW - @
  • * - @

添加虛擬主機

  • ServerAlias www.domain.com * .domain.com

我做正確的(CNAME ,vhost,.htaccess)還是我可以做得更簡單?

你能幫我重定向* .domain.com - > domain.com(猜測在.htaccess中)?

+0

什麼是你要重定向子域?或者您想要重定向所有子域名 –

+0

所有子域名。例如wwww2.domain.com/asda.domain.com - >所有重定向到domain.com(沒有www) – mozg

回答

6

重定向* .domain.com - > domain.com

只要改變你的規則是:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^[^.]+\.(domain\.com)$ [NC] 
RewriteRule^http://%1%{REQUEST_URI} [R=301,L,NE] 
+1

這個工程,謝謝 – mozg

+0

不客氣,很高興它解決了。 – anubhava

+0

這可以使用多級子域名嗎? this.sorta.domain.com? –

0

創建的.htaccess並粘貼此

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$ [NC] 
RewriteRule^http://domain.com/ [L,R] 
3

在服務器名稱下方的Apache配置中將服務器別名設置爲* .domain.com:

ServerName domain.com 
ServerAlias *.domain.com 

一切非www:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$ [NC] 
RewriteRule^http://domain.com/ [L,R] 

一切到www:

​​
相關問題