私のWebサイト(CentOS 8でホストされています)で、残りのWebサイト(/var/www/html)と同じディレクトリにあるbackground.pngファイルをロードしようとしていますが、Webサイトからのロードを拒否します。ローカルホスト/バックグラウンドに直接アクセスします。 .png アクセス拒否エラーが発生します。
エラーログに「AH00132: ファイル権限がサーバーへのアクセスを拒否します。同じディレクトリにあるスタイルシートとPHPファイルは正常に動作します。
この問題を解決するためのさまざまな方法をオンラインで探してみましたが、解決できないようで非常に苦しいです。私のウェブサイトは(少なくとも今では)1つの画像のみを使用するようになっているので、理論的にはオンラインでホストされている画像を使用できますが、いくつかの理由でそれをしたくありません。
私が試したこと:
- .pngファイルでchmod 755を使用するか、アクセス可能なファイルでchown / chmod --referenceを使用してください。
- mod-mime "AddType image/png .png"があります。
- 私のphpmyadminのいくつかのパスワード関連エントリを除いて、.htaccessはありません。
- /var/www/html ディレクトリの角かっこの下で httpd conf に「AllowOverride All, Allow from all, Require all grant」を追加しました。
- httpdを再起動してください
- ブラウザをクリア
別のアイデアがありますか?私は基本以上のLinuxに初めて触れる人なので、派手な用語を使わないでください。 :p
編集する:
問題はSELinuxにあります。これに従った後https://superuser.com/a/988862ガイドファイルへの読み取りアクセスを許可するためにSELinuxをインポートしました。助けてくれてありがとう!
答え1
サーバーでSELinuxが有効になっていることを確認する必要があります。この場合、Apacheへのアクセスがブロックされる可能性があります。ファイルにタグを付ける方法を見て、設定を変更するか、ファイルにタグを付け直す必要があります。