2012-05-24 201 views
5

我想在我的網站上設置用於各種目的的子域名。 例如rc.mywebsite.com發佈候選版,beta.mywebsite.com爲Beta Candidate和www.mywebsite.com/mywebsite.com爲Live版。使用Apache虛擬主機的子域名

我使用Apache 2.2.22與PHP和mod_rewrite在Ubuntu 12.04LTS服務器上啓用。在我的/ etc/apache2的/網站,我可以在使用a2ensite mywebsite.com與入門啓用文件mywebsite.com作爲

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName mywebsite.com 
    ServerAlias mywebsite.com 
    DocumentRoot /var/www/mywebsite.com 
    <Directory /var/www/mywebsite.com> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName beta.mywebsite.com 
    ServerAlias beta.mywebsite.com 
    DocumentRoot /var/www/beta.mywebsite.com 
</VirtualHost> 

我的/ etc/hosts文件

127.0.0.1  localhost 
XX.XX.XX.XX  myotherwebsite.com 
XX.XX.XX.XX  mywebsite.com 
XX.XX.XX.XX  beta.mywebsite.com 

現在上面這是不工作... :(我只能夠訪問mywebsite.com 當我嘗試訪問beta.mywebsite.com我得到找不到服務器錯誤。

+0

當您嘗試請求什麼是你的錯誤http://beta.mywebsite.com –

+0

我得到服務器未找到錯誤。 – Wh0RU

+0

@whoru beta.mywebsite.com的IP是什麼?你有apache conf的機器是否有這個相同的IP? – Anirudh

回答

0

你得到了什麼問題?

但對於第一次射門,儘量只在虛擬主機標記之前加入

ServerName beta.mywebsite.com 
<VitualHost... 

而且你不需要添加

ServerAlias beta.mywebsite.com 

線,因爲它們是一樣的名字,但它會是沒有問題的。如果您使用的是同一頁面的不同子域名或不同的域名擴展名(如beta.mywebsite.org等),這將是可取的。

2

將第二個VirtualHost指令放入名爲beta.mywebsite.com的文件中。現在運行

$a2ensite beta.mywebsite.com ; service apache2 reload 

每個站點需要位於站點可用目錄內的自己的文件中。

+0

我得到相同的服務器未找到錯誤。 – Wh0RU

-2

嘗試從/ etc /阿帕奇/網站可用文件夾到/ etc /啓用站點的Apache /文件夾複製.conf文件,然後重新啓動Apache

+0

這不是一個好主意。您應該使用a2ensite來啓用網站。 – EliteTech