2012-03-15 91 views
3

所以我成立了一個Amazon EC2的和registerd與123-REG幾個領域,我已經建立了我的Apache虛擬主機但現在我會需要設置一個幾個子域(如小貓 .example.com)。但它只是將是一個數,我想的子域通配符休息去基地這樣的:重定向子域酒吧一個

小貓 .example.com的 - >小貓 .example.com的

* .example.com的 - > example.com

目前我與123-REG DNS如下:

 
www   A  198.168.0.0
kitten A 198.168.0.0
* A 198.168.0.0

和我的Apache 的httpd.conf是:

<VirtualHost *:80> 
    DocumentRoot "/var/www/example.com" 
    ServerName example.com 
    ServerAlias example.com 
    <Directory "/var/www/example.com"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    </Directory> 
</VirtualHost> 
<VirtualHost *:80> 
    DocumentRoot "/var/www/kitten.example.com" 
    ServerName kitten.example.com 
    ServerAlias kitten.example.com 
    <Directory "/var/www/kitten.example.com"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    </Directory> 
</VirtualHost> 

讓我怎麼重定向所有這些wildecard子域到我的基地域名?

回答

0

您必須將DocumentRootDirectory映射到您的基本目錄。

或者如果您還想更改域名,請爲其編寫一個.htaccess規則。

0

創建一個不指定ServerName或ServerAlias的虛擬主機指令。這將捕獲該IP地址上的所有虛擬主機(您可以指定端口80上的所有IP),這些虛擬主機不映射到任何其他虛擬主機規範。

<VirtualHost *:80> 
     DocumentRoot /www/default 
     ... 
    </VirtualHost> 

http://httpd.apache.org/docs/2.2/vhosts/examples.html#default

但是,如果你要發送301 HTTP標頭(永久重定向),你需要使用mod_rewrite或類似的東西:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

How to setup Apache mod_rewrite to redirect all but one subfolder是一個很好的例子..如果第一個選項不足以滿足您的需求,則需要進行修改以滿足您的需求。