Linuxサーバー

Apacheで.htaccessを利用可能にする

更新日:

.htaccessファイルはディレクトリごとにApacheの設定をするためのファイルです。ここでは.htaccessファイルを利用可能にする方法について説明します。

.htaccessファイルの概要

通常、Apacheの設定はhttpd.conf(/etc/httpd/conf/httpd.conf)で行います。 しかし、.htaccessファイルを利用可能して.htaccessファイルをディレクトリに配置すると、 そのディレクトリおよびそのサブディレクトリでhttpd.confの設定を上書することができます。 つまり、.htaccessファイルに書かれたディレクティブが常にhttpd.confの設定より優先されます。 サブディレクトリにも.htaccessファイルが存在すれば上の階層の.htaccessファイルの設定を上書きします。

これは個々のディレクトリを管理するユーザーにhttpd.confを編集する権限が無くても、 httpd.confの設定を上書きできるようにするための方法です。 例えばレンタルサーバーのように、個々のユーザーにhttpd.confのアクセス権が無いが、 各ユーザーが管理するディレクトリの設定をカスタマイズできるように.htaccessファイルを使います。

しかし、.htaccessファイルで設定できることはhttpd.confの<Directory>セクションでも常に設定できるので、 上記のような特別な事情がなければ、.htaccessファイルを使わない方がセキュリティ上好ましいです。

.htaccessファイルを利用可能にする

.htaccessファイルを利用可能にするにはhttpd.confを編集する必要があります。 ここでは/var/www/html/exampleディレクトリ以下のディレクトリで.htaccessファイルを利用可能にする設定を例にします。 /var/www/html/exampleの部分は環境に合わせて変更してください。

/var/www/html/exampleディレクトリで.htaccessファイルを利用可能にするにはhttpd.confに次のような記載を追加します。

<Directory /var/www/html/example>
    AllowOverride All
</Directory>

<Directory>ディレクティブで/var/www/html/exampleディレクトリを指定します。このディレクトリ以下で.htaccessファイルによる上書きを許可しているのは「AllowOverride All」の部分です。これで、/var/www/html/exampleディレクトリおよびそのサブディレクトリで.htaccessファイルを使用可能になります。

AllowOverrideディレクティブの構文は次の通りです。

AllowOverride All|None|directive-type [directive-type] ...

Allを指定すると.htaccessファイルに記述できるディレクティブのすべてを使用できることを意味します。 directive-typeにはディレクティブのカテゴリを表すキーワード指定します。 カテゴリを表すキーワードはAuthConfig、FileInfo、Indexes、Limit、Options[=Option,...]を使用できます。 Allまたはキーワードを指定した場合に使用できるディレクティブについてはApacheのマニュアルを参照ください。 Noneを指定すると.htaccessファイルの使用を完全に無効にすることができます。

-Linuxサーバー

Copyright© アナグマのモノローグ , 2021 All Rights Reserved Powered by STINGER.