はじめに
開発環境
MAMP
DirectoryIndexに設定したファイルが読み込まれない
httpd.confファイルの一番下の行に、次のようにコードを追加します。
Alias /apache "/Applications/MAMP/htdocs/fullstack-webdev/070_Apacheの基礎/"
<Directory "/Applications/MAMP/htdocs/fullstack-webdev/070_Apacheの基礎/">
DirectoryIndex file1.html
</Directory>
Aliasによって、 /apacheに
"/Applications/MAMP/htdocs/fullstack-webdev/070_Apacheの基礎/"
のパスを対応させます。
すると、MAMPのサーバーをリセットしてwebページを立ち上げ、URLに
http://localhost:(ポート番号)/apache
と入力すると、「070_Apacheの基礎」ディレクトリ内のindex.htmlあるいはindex.phpがページに読み込まれます。
ですが、ここで
<Directory "/Applications/MAMP/htdocs/fullstack-webdev/070_Apacheの基礎/dir-test">
DirectoryIndex file1.html
</Directory>
によって、 さっきと同様
http://localhost:(ポート番号)/apache
をURLに入力すると、
・もし「070_Apacheの基礎」ディレクトリ直下にindex1.htmlがあればそれが開く
・もし「070_Apacheの基礎」ディレクトリ直下にindex1.htmlがなければ「070_Apacheの基礎」ディレクトリ直下のディレクトリやファイルの一覧が表示される
というどちらかの処理に変わります。
これは、デフォルトではDirectoryIndexがindex.htmlやindex.phpを読み込む設定になっているものを、
DirectoryIndex file1.html
によってindex1.htmlを読み込むという命令に変更しているからです。
ここで、たまにこのDirectoryIndexにあたらめて設定したファイル(今回はindex1.html)がちゃんと読み込まれず、デフォルトのindex.htmlやindex.phpを読み込んでしまうことがありました。
対処法
大した方法ではないですが、自分の場合
一度index1.htmlを開いて中のソースを変更して元に戻してしてあげたら
その後サーバーをリセットしたときに正常に読み込むようになりました。
すみません、それだけです。一応備忘録として記事にしました。