Apacheの「.htaccess」を有効にする方法

2021-06-22

概要

Apacheで「.htaccess」を有効にする方法を紹介します。「.htaccess」を有効するとディレクトリ毎にIP制限をおこなったりユーザー認証をおこなったりと色々と設定を行うことが出来ます。

「.htaccess」の ファイル名を変更する場合は、 AccessFileName ディレクティブを使って設定すれば、 ファイル名を変更する事ができます

# vi /etc/httpd/conf/httpd.conf
AccessFileName .config

「.htaccess」を有効にする設定

「.htaccess」を有効にするには、「AllowOverride」ディレクティブを変更することで有効になります

「.htaccess」を有効にする場合

後で説明しますが、「AllowOverride」では認証に関するディレクティブやモジュールに関するディレクティブなどを設定を柔軟におこなえます。ディレクティブをオプションを全て許可する場合は「AllowOverride ALL」と記述します。

個別に設定する場合は【「.htaccess」のディレクティブの項目】の設定を参考にして下さい

<Directory />
  Allowoverride All
</Directory>

「.htaccess」を無効にする場合

「.htaccess」を無効にする場合は、無効にしたいディレクトリの設定内「AllowOverride None」と記述します

<Directory />
  Allowoverride None
</Directory>

「.htaccess」のディレクティブの項目

AccessFileNameで設定できる、ディレクティブ毎のキーワード(オプション)は以下のようになります。キーワードを複数指定することも出来ます。
また、この設定は<Directory>ディレクティブ内でのみ有効です。

【書式】AllowOverride キーワード

  • None
    「.htaccess」ファイルの存在自体を無視します。「.htaccess」を無効にします
  • ALL
    「.htaccess」で指定した全ディレクティブの使用を許可します。
  • AuthConfig
    認証に関するディレクティブの使用を許可します。
  • Limit
    ホスト名やIPアドレスによるアクセス制御の上許可します。
  • FileInfo
    ディレクトリ表示の設定について許可します。SetEnvIf、ErrorDocument 、mod_rewrite 関連の設定などのこのキーワードになります
  • Indexes
    ディレクトリインデックスに関する以下のディレクティブの使用を許可します。 DirectoryIndex などこのキーワードになります
  • Options
    Options指定子で設定する機能について許可します。