2017-06-05 13 views
0

私はCentOS 7マシン上でApacheサーバーを実行しています。Apache上のDrupalサイトの予期せぬ仮想ホストの動作

私は新しいDrupalサイト(サイト1)を/var/www/html/site1の下に作成しました。 http://<server-ip>/site1を訪問すると、サイト1が正しく生成されました。

今日、新しい顧客のためのテスト環境を提供するために、新しいDrupalサイト用の仮想ホストを作成する必要がありました(site2)。

だから私は、次のvhostルール作成:私は、サイトのフォルダ/var/www/html/site2を作成し、Drupalのをインストールした後

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName site2.dev 
     DocumentRoot /var/www/html/site2 
     <Directory /> 
       Options FollowSymLinks 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

を。 http://site2.devを訪問すると、サイト2が正しく生成されます。

私が今訪問した場合、http://<server-ip>/site1サイト2が表示されます。

私は何が問題であるか把握できません。 2つのサイトは完全に異なるパスと異なるデータベース上にあるので、私の意見では、他のサイトには影響しません。

今日、私は最初の仮想ホストを文字通り定義して以来、誰かが私に問題の説明に役立つかどうか疑問に思っていました。前もって感謝します!

+1

それは関係なく、データベースまたは任意の、SITE1または2つのファイルへのリクエストをリダイレクトするapacheのです。したがって、apacheがすべての(*)http要求をsite2ディレクトリに向けるように指示すると、通常はsite2のみが表示されます。 –

答えて

2

私はあなたの問題を誤解して、2つのドメインを持っていると思っていました。

サブディレクトリのないIPによってサイト1にアクセスしましたか?この場合: DocumentRootを/ var/www/htmlを指し示すように変更すると、両方のサイトにIP/site1とIP/site2がアクセスします。

url IP/site1でsite1にアクセスしていた場合、変更する必要はなく、新しい仮想ホストなしでIP/site2にアクセスすることができます。

+0

_first virtualhost_が何を意味するのか分かりません。 _site1_の仮想ホストは定義されていません。私は 'http:// 10.10.10.10/site1'のようにIP経由でアクセスします。 – GigiSan

+0

あなたは確かに、デフォルトでApacheのconfに定義されています(httpd.confファイルを探してください)。この場合にApacheのconfにアクセスできない場合は、*ではなく、2番目のサイトのURLだけを指す仮想ホストを作成することができます。 –

+0

私の答えを訂正しました。 –

0

ローランの回答に基づいて、これは私が使用して終了した構成である。

# So all IP only paths continue to work 
<VirtualHost *:80> 
     DocumentRoot /var/www/html/ 
     ServerName 10.10.10.10   # Server's IP 
     <Directory /var/www/html/> 
       Options FollowSymLinks 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

# So site2.dev points to its folder 
<VirtualHost *:80> 
     DocumentRoot /var/www/html/site2 
     ServerName site2.dev 
     <Directory /var/www/html/site2> 
       Options FollowSymLinks 
       AllowOverride All 
     </Directory> 
</VirtualHost> 
関連する問題