2011年9月13日火曜日

ディレクトリごとの設定ファイルを使う(.htaccessファイル)

Apacheを利用して、ユーザごとの公開ディレクトリを用意することができます。さらに、/home/user/public_html といったユーザの公開ディレクトリに対して、各々の設定をしたい。例えば、あるユーザの公開ディレクトリに対して、特定のディレクトリで SSI を有効にしたい、ということがあるでしょう。.htaccessファイルを使って実現することができます。

① Apacheの設定ファイル(httpd.con)から下のように ”AllowOverride All” を追加する
<Directory /home/*/public_html>
AllowOverride All
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec                   
# <Limit GET POST OPTIONS>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS>
# Order deny,allow
# Deny from all
# </LimitExcept>
</Directory>

② Apacheの設定ファイルから、デフォルトの設定ファイル名(.htaccess)を確認しておく
AccessFileName .htaccess                           
 
③ 設定したいユーザ(hoge)の公開ディレクトリに移動して、設定ファイルを作成
[hoge@www~]$ cd ~/public_html/
[hoge@www public_html]$ vi .htaccess

④ .htaccessファイルに利用したい設定を記述する


しかし、AllowOverrideの設定を有効にする場合、サーバへの負荷が増加します。
そのことから、.htaccessファイルの使用は極力避けた方がよいです。
http://httpd.apache.org/docs/2.2/ja/howto/htaccess.html

Apacheの設定ファイルをいじれる(rootアクセス権限を持っている)のであれば、その設定ファイルに、設定を変更したいディレクトリを指定してあげるのがベストです。実際、.htaccessファイルに書くことで実現する設定は、Apacheの設定ファイルの<Directory> セクションを使って実現することができるし、その方が良い設定方法みたいです。

0 件のコメント:

コメントを投稿