0

Apache に複数の VirtualHosts があり、すべてポート 80 でリッスンし、ServerNames が異なる Web アドレスに設定されています。IP アドレスに直接アクセスすると、Apache はデフォルトでそれらの Web サイトの 1 つに送信します。IP アドレスへのリクエストを処理する仮想ホストを変更したいと考えています。どうすればいいですか?

<!-- This is currently the default (probably because it's first alphabetically) -->
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName mywebsite.com
    DocumentRoot /var/www/testingother
    ...
</VirtualHost>


<!-- I want this to be default -->
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName myotherwebsite.com
    DocumentRoot /var/www/testing
    ...
</VirtualHost>
4

2 に答える 2

1

私自身のApache構成ファイルから:

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

これはブロックDocumentRootの外にあることに注意してください。VirtualHost似たようなものがあると思いますが、そうでない場合は、そのように設定できます。それは、それらが表示される順序をいじるよりも簡単です。

于 2013-06-20T17:24:51.877 に答える
0

デフォルトの仮想ホストは、最初にロードされるホストです。

  • 単一ファイルhttpd.confまたはvhosts.confの場合は、仮想ホストの順序を変更するだけです。
  • 仮想ホスト ファイル ベースの設定 (たとえば、Debian ではそれを使用) では、仮想ホスト ファイルの前に番号を付けるのが慣習です。デフォルトは通常000-defaultです。

Apache ドキュメントから:

要求に Host: ヘッダーが含まれていないか、不明な場合は、常にプライマリの名前ベースの vhost (構成ファイルで最初に表示されるそのアドレス/ポートの vhost) から提供されます。

于 2013-06-20T17:23:19.043 に答える