0

次の構造を設定したい: staging.mydomain.com/client/projectname production.mydomain.com/client/projectname

新しいプロジェクトの場合、/home/-folder に次のフォルダーを作成します。

  • 「クライアント名」フォルダ
    • 「プロジェクト名」フォルダ
      • ステージング フォルダー
      • プロダクション フォルダ

以下に示すものを含む「a2ensite」で有効にしたファイルを作成しました。

「プロダクション」と「ステージング」のためにクライアントAで正常に動作していますが、クライアントAによってオーバーライドされたようなものであるため、もちろんクライアントBは動作しませんよね?

<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>
4

1 に答える 1

0

「プロダクション」と「ステージング」のためにクライアントAで正常に動作していますが、クライアントAによってオーバーライドされたようなものであるため、もちろんクライアントBは動作しませんよね?

同じサーバー名に対して 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」の vhost を既に取得しているため、2 つ目は無視されます。

これらの仮想ホストを定義し、ServerNameそのホストが「staging.mydomain.com」と呼ばれるように定義する場合

と入力するhttp://staging.mydomain.com/と、どの仮想ホストに移動すると予想されますか? そのホスト名をホストすると主張するものが2つあります。これらの vhost には異なる名前を付ける必要があります。

于 2012-08-23T07:54:04.493 に答える