4

そこで、example1.comとexample2.comの2つの仮想ホストファイルを次の情報で設定しました。

--最初のファイル

<VirtualHost 127.0.0.1:80>
    ServerName  example1.com
    ServerAlias www.example1.com
    ServerAdmin admin@example1.com
    DocumentRoot    /var/www/example1.com
</VirtualHost>

--2番目のファイル

<VirtualHost 127.0.0.1:80>
    ServerName  example2.com
    ServerAlias www.example2.com
    ServerAdmin admin@example2.com
    DocumentRoot    /var/www/example2.com
</VirtualHost>

読み取るようにhostsファイルを設定します

127.0.0.1 locahost
127.0.0.1 example1.com
127.0.0.1 example2.com

しかし、localhost、example1.com、またはexample2.comにアクセスしようとすると、ブラウザからexample1.comに送られます。

デフォルトの仮想ホストファイルには次のものがあります。

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

/ var / wwwのAllowOverrideがルートよりも優先されると思いますか?

それで、後で私はa2dissiteですべての仮想ホストをオフにし、hostsファイルのそれらの行をコメントアウトしましたが、私のサイトの半分は現在まったく機能していません。

私のワードプレスサイトの1つはcssファイルをプルできないようで、すべてがジャックされており(24時間前は問題ありませんでした)、いくつかのサイトがDBへの接続を失ったようです。

何が起こっているのかわかりませんが、すべてがジャックされています。

編集-私の元の質問には、example1.comを指す両方の仮想ホストファイルがありました。これは、コピーと貼り付けの失敗でした。実際のファイルは、正当なWebサイトのURLを指しています。

4

1 に答える 1

6

あなたの apache 設定をこれ以上見たことがない私の最善の推測は、名前ベースの仮想ホスティングが有効になっていないことです。これを行うには、Apache 構成に以下を含めます。

NameVirtualHost *:80

IP ベースの仮想ホスティングは、Apache がそのディレクティブなしで使用するデフォルトのメカニズムです。

ちなみに、それを行う場合、<VirtualHost>ブロックの引数はディレクティブの引数と一致する必要があるNameVirtualHostため、代わりにこれを使用します。

<VirtualHost *:80>

同じボックスで多くの異なるサイトを扱う場合は、mod_vhost_aliasのドキュメントを参照することをお勧めします。

于 2012-11-21T18:41:11.007 に答える