2009年5月27日水曜日
.htaccessで覚書

ちょっとお手伝いをしたので、忘れないようにメモしておこうと思う。

.htaccessで一時的にアクセス制限をかけたいらしいのだけど、どうも上手くいかないってんで、ちょっと手伝ってみる。

Digest認証のダイアログをキャンセルすると、エラーに飛ばしたいんだけど、どうも上手く動かない。

最初にアレ?と思ったのは、エラーログ(error_log)を確認して「 ErrorDocument not allowed here」というエラーを見つけたとき。
結局犯人はhttpd.conf(を設定した人)だったという話。

ドキュメントルートのディレクトリ設定は
<Directory />
AllowOverride All
</Directory>
となっていたため、OKかと思われたが、実際に適用したいディレクトリにも個別に設定がしてあった。

<Directory "該当するディレクトリ">
AllowOverride AuthConfig
</Directory>

ようするに、認証に関する設定しかダメよってことですか。
これを
<Directory "該当するディレクトリ">
AllowOverride All
</Directory>
に直すことで、正常に動作しました。

あぁ…
ちょっと違うな。
上位ディレクトリ(この場合ドキュメントルート)の設定に上書きできるのが、認証だけよってことか。
AllowOverrideをAuthConfigのままにして、httpd.conf内部にErrorDocumentを追記するのでも、いいのかな?(試してないけど)



137 コメント | コメントを書く | コメントの表示
Template Design: © 2007 Envy Inc.