[Apache] .htaccessの使い方

●.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>

コメントを残す

メールアドレスが公開されることはありません。