25

これはおそらく尋ねられましたが、明確な答えが見つからないか、見つけたものが機能しません。

IP に解決される1 つのドメインmydomain.comがあります。8.8.8.8 としましょう。また、DNS 設定は、2 つのサブドメインを A レコードでその IP アドレスにポイントします。これらはdev.mydomain.comstaging.mydomain.comです。両方とも、8.8.8.8 を指す A レコードを持っています。

サーバー (8.8.8.8) には、2 つの仮想ホスト ファイルがあります。これらは次のとおりです。

staging.mydomain.com.conf

<VirtualHost *:80>
    ServerName  staging.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/staging/
</VirtualHost>

と...

dev.mydomain.com.conf

<VirtualHost *:80>
    ServerName  dev.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/dev/
</VirtualHost>

問題は:

http://staging.mydomain.comhttp://dev.mydomain.comのどちらにアクセスしても、常にstaging.mydomain.comにアクセスします (Apache がこれらのファイルを提供します)。

Apache とサーバーを再起動しました。dev が最初になるように .conf ファイルの順序を変更すると、常にそれが表示されます。どんな提案でも大歓迎です。ありがとう!


アップデート

私は再びこの問題に直面しています!構文が正しいことがわかっている場合は、シンボリック リンクが間違っている可能性があります。それを削除して再度作成し、その間にApacheを再起動します。私はこれをやっただけで、何時間も頭を悩ませていました。で利用可能な仮想ホストを確認CentOSできますhttpd -S

更新 2

また、仮想ホストの apacheログファイルが存在しないか、書き込み可能でない場合にも、この問題が発生することがわかりました。

4

1 に答える 1

31

NameVirtualHost構成にディレクティブを追加する必要があるようです。

NameVirtualHost         *:80

*:80状況によっては、Apache がVirtualHosts を正しく処理できない場合があります。そのような場合、VirtualHosts を特定の IP に直接マップする必要があります。

NameVirtualHost         8.8.8.8:80

<VirtualHost 8.8.8.8:80>
    ServerName  staging.mydomain.com
    ServerAlias stage.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/staging/
</VirtualHost>

<VirtualHost 8.8.8.8:80>
    ServerName  dev.mydomain.com
    ServerAlias development.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/dev/
</VirtualHost>

apachectl -t -D DUMP_VHOSTS実行して、Apache が VirtualHost 構成を解析する方法を確認することもできます。

更新: コメントで述べたように、通常はNameVirtualHost *:80. したがって、ほとんどの場合、次のように仮想ホストを構成できます。

NameVirtualHost         *:80

<VirtualHost *:80>
    ServerName  staging.mydomain.com
    ServerAlias stage.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/staging/
</VirtualHost>

<VirtualHost *:80>
    ServerName  dev.mydomain.com
    ServerAlias development.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/dev/
</VirtualHost>
于 2012-12-12T11:27:51.337 に答える