質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

1回答

3442閲覧

apache2.4での、DirectoryIndexが効かない

yuji.yamamura

総合スコア7

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

1クリップ

投稿2018/10/16 02:33

前提・実現したいこと

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を設定する方法を教えて頂けませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

空を許可する
<FilesMatch "^$|^.*.(css|gif|~~)$">
でどうでしょうか?

投稿2018/10/16 03:34

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuji.yamamura

2018/10/16 03:52

実際に設定してみて、適当なファイルを置いて拡張子を変えてアクセスできるか等試してみました。 想定通りの動作となっておりましたが、5分ぐらい何故動いたか意味がわかりませんでした。 が、その後、理解でき、すごく単純な話なんだと、わかりました。 こんなに早く回答をもらえると思っておりませんでした。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問