前提・実現したいこと
amazon linux 2でapache2.4.34を使い、webサーバーを立てています。
httpd.confの記述で、決まった拡張子以外のファイルへのアクセスを拒否しつつ、DirectoryIndexで、index.phpを設定したい。
発生している問題・エラーメッセージ
[Mon Oct 15 19:36:56.613640 2018] [authz_core:error] [pid 5970] [client 148.64.1.8:58759] AH01630: client denied by server configuration: /var/www/html/xxx/xxxx/
httpd.conf
抜粋ですが、
httpd.conf
1<IfModule dir_module> 2 DirectoryIndex index.php 3</IfModule> 4 5<FilesMatch "^.*$"> 6Require all denied 7</FilesMatch> 8 9<FilesMatch "^.*.(css|gif|html|ico|js|png|txt|php|eot|pdf|ttf|svg|xml|jpe?g|woff2?)$"> 10Require all granted 11</FilesMatch>
試したこと
上記のhttpd.copnfで、
http://my.domain.com/xxx/xxxx/index.php
という具合に、ファイル名まで記述したURLにアクセスすると、正しくページが表示されるのですが、
http://my.domain.com/xxx/xxxx/
のように、ファイル名を省略すると、「client denied by server configuration」というエラーがerror_logに出力されてしまいます。
また、
httpd.conf
1<IfModule dir_module> 2 DirectoryIndex index.php 3</IfModule> 4 5<FilesMatch "^.*.(css|gif|html|ico|js|png|txt|php|eot|pdf|ttf|svg|xml|jpe?g|woff2?)$"> 6Require all granted 7</FilesMatch>
の様に、「Require all denied」の箇所を削除すると、
http://my.domain.com/xxx/xxxx/
で、アクセスができるようになるのですが、これだと、拡張子の制限が出来ません。
https.confを元に戻し、「DirectoryIndex」の場所や順番がおかしいのかと、色んな場所に記述してみましたが、やはり、URLにファイルまで記述しないとエラーとなってしまいます。
拡張子制限を有効にしたまま、DirectoryIndexを設定する方法を教えて頂けませんでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/16 03:52