2016-05-18 21 views
0

自分自身が立ち往生し、問題のある場所を見つけることができません。ここでApacheが正しく読み込まれていないDocumentRoot

は私が持っているものです。 OS Xエルキャピタン

$ apachectl -v 
Server version: Apache/2.4.18 (Unix) 

私の/ etc/hostsファイル:

/etc/apache2/extra/httpd-vhost.conf

127.0.0.1 first.loc 
127.0.0.1 second.loc 

<VirtualHost *:80> 
    DocumentRoot "/Users/me/projects/first" 
    ServerName first.loc 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "/Users/me/projects/second" 
    ServerName second.loc 
</VirtualHost> 

3つのindex.htmlファイルをディレクトリに唯一のテキストとして入れました。

/Users/me/projects/index.html (1) 
/Users/me/projects/first/index.html (2) 
/Users/me/projects/second/index.html (3) 

私がfirst.locまたはsecond.locに行くと、projects/index.htmlが読み込まれます。

私はfirst.loc/firstに移動すると、2番目のindex.htmlがロードされます。first.loc/secondに移動すると、3番目のロードされます。

DocumentRootsが正しく処理されないのはなぜですか?

解決済み:ウェブ共有パネルがApacheを完全に再起動するのを止めていたので、実際に設定ファイルを再ロードしていませんでした。オフにして、手動で開始/停止/再起動が解決されました。

+0

おそらく別の(デフォルト/キャッチオール)仮想ホストが設定されていますか? –

+0

私が気づいている人はいません - 私は確かにそれを作っていないし、その特定のものとは別のvhost.confファイルがあることに気づいていません。私はそれからすべてのデフォルトのコンテンツを削除したので、上記の内容がすべてその中に含まれています。 – leshank

+0

'apachectl -S'はそれらをリストする必要があります。 –

答えて

0

[OK]それは問題は '固定'自体があるようです。この問題はApacheではなく、sudo apachectl restartが正しく動作していませんでした。

以前に試してみるためのウェブ共有パネルがインストールされていましたが、これは 'オン'に設定されていました。この設定では、すべてのApacheプロセスが停止するのを止めて、更新された設定ファイルで本当に停止して再起動することはありません。

愚かなパネルを削除して、手動で起動と停止を行うと、すべて正常に動作します!

関連する問題