Apache サブドメイン設定

Apache サブドメイン設定

CentOS の Apache でサブドメインを設定する際に、ちょっとした問題が発生しているようです。

以下のものがあります:

NameVirtualHost *:80

<VirtualHost *>
  ServerName www.domain.co.uk
  ServerAlias domain.co.uk dev.domain.co.uk
   DocumentRoot "/var/www/html/domain/web"
   DirectoryIndex index.php
   Alias /sf /var/www/html/symfony14/web/sf

 <Directory "/var/www/html/domain/web">
   AllowOverride All
   Allow from All
 </Directory>
</VirtualHost>

<Directory "/var/www/html/symfony14/web/sf">
 AllowOverride All
 Allow from All
</Directory>
<VirtualHost *>
  ServerName test.domain.co.uk
  DocumentRoot "/var/www/html/domain_test/web"
  DirectoryIndex index.php
  Alias /sf /var/www/html/symfony14/web/sf

  <Directory "/var/www/html/domain_test/web">
   AllowOverride All
   Allow from All
  </Directory>
</VirtualHost>

したがって、www.domain.co.uk と domain.co.uk にアクセスすると、/var/www/html/domain の内容が表示されますが、test.domain.co.uk にアクセスしても同じフォルダーの内容が表示されます。

これは のせいでしょうかServerAlias?

ありがとう

更新しました:

不足していたディレクティブを追加しましたNameVirtualHost *:80

答え1

NameVirtualHost *:80 設定ファイルの最初の行に追加してみてください。

サブドメインを設定するには名前ベースの仮想ホストhttpd.confのエントリ。名前ベースの仮想ホスティングを使用するには、ホストのリクエストを受け入れるサーバーのIPアドレス(および場合によってはポート)を指定する必要があります。これは、名前仮想ホスト指令。

詳細については、サブドメインの設定

答え2

DocumentRoot は同じなので、同じコンテンツが表示されるはずです。

テストドメインでは、代わりDocumentRoot "/var/www/html/domain_test/web"DocumentRoot "/var/www/html/domain/web"

関連情報