●.htaccess
https://httpd.apache.org/docs/current/ja/howto/htaccess.html
ディレクトリごとの設定を行い時に
当該ディレクトリに作成し、設定を記載するファイル。
使用するとパフォーマンスの低下を招くので、極力使用しない。
http.confの<Directory>セクション内に記載することで
同様の結果が得られる。
●実際にやってみる
DocumentRoot以下に”test”ディレクトリを作って、
その”test”の”DirectoryIndex”を設定
・test以下に”index.html”と”Hello.html”を作成。
中身はテキトーにファイル名を書いておく
・http.conf内、testディレクトリの”AllowOverride”を有効にする
http.confに下記を追加
<Directory "[DocumentRootのPATH]/test/"> AllowOverride ALL </Directory>
AllowOverride
https://httpd.apache.org/docs/current/ja/mod/core.html#allowoverride
・.htaccessファイルを作成
DirectoryIndex Hello.html ※DirectoryIndexディレクティブを使用するときは、 "dir_module"をLoadしている必要がある。
AccessFileNameディレクティブを使って、
別のファイル名で使うこともできる。
https://httpd.apache.org/docs/current/ja/mod/core.html#accessfilename
AccessFileNameのデフォルト値が”.htaccess”。
このディレクティブは、<Directory>セクション外に記載する。
・testディレクトリにアクセス
ブラウザで”http://localhost/test/”にアクセス。
→Hello.htmlが開かれる。
・.htaccessを削除して、再度testディレクトリにアクセス
→index.htmlが開かれる。
(“/”のDirectoryIndexにindex.htmlが設定されているため。)
※.htaccessの作成・編集・削除では、
Apacheの再起動は不要
(.htaccessは、アクセス時に読み込まれるため)
・http.conf内のtestディレクトリ設定を、
下記のようにしても結果は同様(.htaccessは不要)
<Directory "[DocumentRootのPATH]/test/"> DirectoryIndex Hello.html </Directory>