DirectoryIndex がリダイレクトされない

DirectoryIndex がリダイレクトされない

私は Apache にかなり不慣れで、以前は SQL Server データベース管理者でしたので、無知な点をお許しください。このプロジェクトに必要な DOD STIG に準拠するように Apache Web サーバー (HP-UX フレーバー) をセットアップしようとしています。httpd.conf ファイル内に次の項目を設定しました。

LoadModule dir_module modules/mod_dir.so
DirectoryIndex dft_index.html

このdft_index.htmlファイルの権限は 666 が所有しており、ファイルroot:sysを参照すると正常に表示されます。http://myservername/dft_index.html

しかし、参照しようとするとhttp://myservername/cgi-bin/403 エラーが表示されます。エラー ログには、ブラウザがファイルにリダイレクトするのではなく、cgi-bin ディレクトリ自体にアクセスしようとしていることが示されていますdft_index.html

また、同じ結果で.htaccessファイルを作成しDirectoryIndex dft_index.htmlて設定してみました。AllowOverride = ALL

答え1

DirectoryIndex指令は制御しないアクセスディレクトリの内容に対するアクセス権は通常、Directoryアイテム。

たとえば、エラー ログ/var/log/httpd/error.log(システムによって異なります) を見ると、次のメッセージを含むエラーが表示される場合があります。

attempt to invoke directory as script

そのためにドキュメンテーション言う

これは、Apache がScriptAliasまたはで構成されSetHandler、ディレクトリ パスの要求が行われたときに発生します。問題は、このような状況では、特定のパスの下にあるすべてのリソースが実行可能と見なされることです。

これを回避して をDirectoryIndex再び機能させるには、または をスタンザAddHandler内で使用します。Options ExecCGISetHandler<Files>

また、 をオフにして、オプション内でScriptAliasを使用して同等のものを復元することで、役立つと思われる例が示されています。AddHandler cgi-script cgi plDirectory

関連情報