2012-08-23 126 views
0

我要建立以下結構: staging.mydomain.com/client/projectname production.mydomain.com/client/projectname虛擬主機還是其他?

對於我在的/ home/-folder創建以下文件夾中的新項目:

  • 「客戶端名」 -folder
    • 「項目名稱」 -folder
      • 臨時文件夾
      • 生產文件夾

我已經提出,我與「a2ensite」包括下面顯示的東西啓用了文件。

它與clientA的「生產」和「分段」工作正常,但當然clientB不會工作,因爲它的東西像clientA重寫,對吧?

<VirtualHost *:80> 
    ServerName www.mydomain.com 
    ServerAlias mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/mysite 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName production.mydomain.com 
    ServerAlias production.mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/clientA/projectA/production 
    Alias /clientA/projectA /home/clientA/projectA/production 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName staging.mydomain.com 
    ServerAlias staging.mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/clientA/projectA/staging 
    Alias /clientA/projectA /home/clientA/projectA/staging 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName production.mydomain.com 
    ServerAlias production.mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/clientB/projectA/production 
    Alias /clientB/projectA /home/clientB/projectA/production 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName staging.mydomain.com 
    ServerAlias staging.mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/clientB/projectA/staging 
    Alias /clientB/projectA /home/clientB/projectA/staging 
</VirtualHost> 

回答

0

它工作正常與客戶端A用於「生產」和「升級」,但當然不會clientB工作,因爲它有點像通過客戶端A重寫,對不對?

嗯,你已經爲同一個服務器名定義的虛擬主機2:

<VirtualHost *:80> 
    ServerName staging.mydomain.com 
    ServerAlias staging.mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/clientA/projectA/staging 
    Alias /clientA/projectA /home/clientA/projectA/staging 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName staging.mydomain.com 
    ServerAlias staging.mydomain.com 
    DirectoryIndex index.html index.php 
    DocumentRoot /home/clientB/projectA/staging 
    Alias /clientB/projectA /home/clientB/projectA/staging 
</VirtualHost> 

第二個是要被忽略,因爲你已經有了一個虛擬主機的服務器「staging.mydomain.com」,同樣適用於「production.mydomain.com」

當您定義這些虛擬主機,並將它們定義爲su ch,它所承載的ServerName被稱爲「staging.mydomain.com」

當您鍵入http://staging.mydomain.com/時,您希望它轉到哪個虛擬主機?其中有2個聲稱託管該主機名。你必須給這些虛擬主機不同的名字。

+0

是的,我看到了這個問題。但是如果我們僅舉一個虛擬主機作爲登臺和一個用於生產,我該如何使用它,因此它可以與我的結構協同工作:http://staging.mydomain.com/clientA/projectA指向/ clientA/projectA/staging,和http://staging.mydomain.com/clientB/projectA指向/ clientB/projectA等....? – nickelman

+0

有沒有人對此有任何線索? – nickelman

+0

@ user1618992你使它成爲文檔根目錄是'/ home' –