Debian 9 で Apache2 サーバーを実行しています。/etc/apache2/sites-enabled/
フォルダー内に 2 つの仮想ホスト構成があります。
初め:
Options FollowSymLinks
<Directory "/srv/">
Options FollowSymLinks ExecCGI
Require all granted
</Directory>
<Directory "/srv">
Options FollowSymlinks ExecCGI
Require all granted
</Directory>
<VirtualHost *:80>
ServerName domain.sk
ServerAlias dev.domain.sk
DocumentRoot /srv/domain.sk/!www
<Directory /srv/domain.sk/!www>
Options Indexes FollowSymlinks ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
2番目:
Options FollowSymLinks
<Directory "/home/test/">
Options FollowSymLinks ExecCGI
Require all granted
</Directory>
<VirtualHost *:80>
ServerName domain.sk
ServerAlias test.dev.domain.sk
DocumentRoot /home/test/domain.sk/!www
<Directory /home/test/domain.sk/!www>
Options Indexes FollowSymlinks ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
問題は、私がdev.domain.sk
そこに行くとわかりました、しかし、私が行くと、test.dev.domain.sk
コンテンツが表示されdev.domain.sk
ますないの内容test.dev.domain.sk
。最初の仮想ホスト構成を無効にすると、 の内容が表示されるので、それを「上書き」してtest.dev.domain.sk
いるように見えますが、どうすれば解決できますか?dev.domain.sk
test.dev.domain.sk
答え1
問題は、ServerName
同じ名前のディレクティブを 2 回使用していることです。ServerName
各仮想ホストに一意である必要があります。この例では、これは必要ありませんServerAlias
。私が言っていることの例を以下に示します。
<VirtualHost *:80>
ServerName dev.domain.sk
DocumentRoot /srv/domain.sk/!www
<Directory /srv/domain.sk/!www>
Options Indexes FollowSymlinks ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName test.dev.domain.sk
DocumentRoot /home/test/domain.sk/!www
<Directory /home/test/domain.sk/!www>
Options Indexes FollowSymlinks ExecCGI
AllowOverride All
</Directory>
</VirtualHost>