2013-02-25 47 views
0

我想這重定向的工作,但它不是:Apache的重定向問題

RewriteCond %{HTTP_HOST} ^(.*)\.sub\.my-domain\.com$ 
RewriteRule ^(.*)$ http://sub.my-domain.com/$0 [R=301,L] 

它想工作,如:

*.sub.my-domain.com -> sub.my-domain.com 
123.sub.my-domain.com -> sub.my-domain.com 
asdf.sub.my-domain.com -> sub.my-domain.com 
+0

如果你在'RewriteRule'改變'$ 0'到'$ 1'應該再改變'123.sub.my,domain.com'到'sub.my-domain.com/123'。那是你想要達到的目標嗎? – sjdaws 2013-02-25 12:01:29

+0

不,我只希望'* .sub.my-domain.com'的所有​​子域都可以重定向'sub.my-domain.com'。例如:'www.sub.my-domain.com'重定向到'sub.my-domain.com'。 – SubZeroFX 2013-02-25 14:15:22

回答

1

做到這一點,最好的辦法是用虛擬主機容器爲它贏得不需要任何額外的解析工作。

重定向一切sub.my-domain.com,同時保留任何路徑

<VirtualHost *:80> 
    ServerName *.sub.my-domain.com 
    Redirect permanent/http://sub.my-domain.com/ 
</VirtualHost> 

然後你有正常的虛擬主機容器sub.my-domain.com

如果你想重寫,你需要這個。它檢查主機是否是正確的和重定向,如果它不是

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^sub\.my-domain\.com$ [NC] 
RewriteRule ^(.*)$ http://sub.my-domain.com/$1 [R=301,NC,L] 
+0

好吧,我在開始時遇到了一些問題,因爲我的反向dns,但現在所有固定和工作 – SubZeroFX 2013-03-06 12:33:15