2011-08-04 36 views
2

是否可以將Apache配置爲允許不同的前綴(而不是WWW)映射到文件系統不同的目錄?例如...阿帕奇 - 如何前綴映射到不同的目錄

我有我的網絡服務器兩種不同的環境:

/home/me/test/web : Test Environment 
    /home/production/web : Production Environment 

我想這些映射到以下網址:

test.mysite.com -> /home/me/test/web 
    prod.mysite.com -> /home/production/web 

然而,沒有什麼我試着VirtualHosts已經工作:

NameVirtualHost *:80 

    <VirtualHost *:80> 
     ServerName test.mysite.com 
     ** Some SetEnvs ** 
    </VirtualHost> 

    <VirtualHost *:80> 
     ServerName prod.mysite.com 
     ** Different SetEnvs ** 
    </VirtualHost> 

這會引發以下錯誤:

[warn] _default_ VirtualHost overlap on port 80, the first has precedence 

這種配置甚至可能與Apache,或者我做錯了什麼?此外,一些澄清 - 使用虛擬主機文件進行簡單重寫可能不適合。它適用於直接目錄的東西,但是我不能像VirtualHost部分那樣使用任何SetEnv指令。

回答

1

應該:.

NameVirtualHost *:80 
+0

感謝,在複製時,輸入錯誤。但在.conf文件中是正確的。 – grobolom

+0

@grobolom在這種情況下,你有一些指令聲明兩次:仔細檢查你有1)'了NameVirtualHost *:80'聲明一次; 2)請檢查所有''聲明 - 你可以有相同的'ServerName'聲明兩次。 – LazyOne

+1

@grobolom也可以嘗試在此命令的執行(取決於你有什麼樣的發行版)'的Apache2 -S'或在httpd -S'並檢查輸出 - 它可能給你重複的''的位置** ** IF您的警告信息就是這種情況。 – LazyOne