Apacheサーバーはディレクトリにアクセスできません(403 Forbiddenエラー)。

Apacheサーバーはディレクトリにアクセスできません(403 Forbiddenエラー)。

現在、Fedora 29でApache Webサーバーを実行しており、ディレクトリアクセスの問題があります。

でPHPとHTMLファイルを実行することができますが、…/www/html/applications/views実行しようとすると…/www/html/applications/controllers

私は後者のディレクトリとその内容の権限を以前のディレクトリとその内容の権限と一致させようとしましたが、役に立ちませんでした。所有権を現在のユーザーに切り替えて権限を変更してみましたが、まだこのエラーが発生します。

また、Apacheサーバーのエラーログを確認してみると、これに関連する内容はないようです(最後のエラー日が5月22日でしたので、PHPスクリプトを最後に再実行したのは5月25日と結論付けました。私が間違っている場合は訂正してください)。以下は最近3つのエラーメッセージです。

[Wed May 22 22:40:07.338339 2019] [lbmethod_heartbeat:notice] [pid 17890:tid 139756349729024] AH02282: No slotmem from mod_heartmonitor

[Wed May 22 22:40:07.350863 2019] [mpm_event:notice] [pid 17890:tid 139756349729024] AH00489: Apache/2.4.39 (Fedora) OpenSSL/1.1.1b mod_perl/2.0.10 Perl/v5.28.2 configured -- resuming normal operations

[Wed May 22 22:40:07.350906 2019] [core:notice] [pid 17890:tid 139756349729024] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

また、以下にファイルの内容を示します.htaccess

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

何が起こっていて、どのように解決するのか知っていますか?

ベストアンサー1

これはDeny from allApache 2.2構文で、これはRequire all deniedApache 2.4構文です。

https://httpd.apache.org/docs/2.4/upgrading.html#access

この例では認証は行われず、すべての要求が拒否されます。

2.2 構成:
注文拒否、許可、
すべて拒否

2.4 構成:
すべてのリクエストを拒否

https://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#deny

通事論:Deny from all|host|env=[!]env-variable [host|env=[!]env-variable] ...

このディレクティブを使用すると、ホスト名、IPアドレス、または環境変数に基づいてサーバーへのアクセスを制限できます。このコマンドのパラメーターは、Denyこのコマンドのパラメーターと同じですAllow

https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require

Require all denied
       アクセスは無条件に拒否されます。

それがどこにあるのか言っていないので、それがうまくいく理由とうまくいかない.htaccess理由はわかりません。ただし、お客様のコンテンツには次の内容があります。…/www/html/applications/views…/www/html/applications/controllers.htaccessすべてのアクセスが拒否されました。Apache 2.2/2.4で動作します。

おすすめ記事