CentOS 6.7でnginx + httpdでVestaCPを使用する
Webサイトはうまくいきますが、403エラーが発生したため、JavaScriptからPHPファイルを読み込めませんでした。
私は以下を試しました:(各フォルダには同じ所有者と権限(755)があります)
wp-content/test.php // Error 403
wp-includes/test.php // Error 403
wp-admin/test.php // OK, 200
test/test.php // OK, 200
wp-contest/test.php // OK, 200
実際、... wp-content/*.php と wp-includes/*.php は、これらのフォルダ内のサブディレクトリに php を含めません。
wp-contentおよびwp-includesのすべてのPHPファイルは自動的に403エラーを発生させます。これらのファイルが存在しなくても、404の代わりに403が表示されます。
- nginx.confを確認しましたが、wp-content / wp-includesに関連するものはありません。
- .htaccessを確認しましたが、奇妙なことはなく、バックアップしてから削除までしました。
- フォルダ権限は755、ファイル権限は644です。
- また試み
restorecon -R /home/$user/web/url/public_html
何も動作しません。ファイルは独立してロードされるため、WordPressに関連するのではなくサーバーに関連する必要があります。
追加資料:
- 私たちはプロキシを無効にしてcloudflareを使用していますが、この問題を引き起こした以前の所有者から構成が継承されていないと思いますが、それを破棄しません。
- ウェブサイトがホスティングからvpsに移行されました。
- 私はシステム管理者で、約60のウェブサイトを持っていますが、他のウェブサイトではこの問題は発生しません。
答え1
残念ながら、次の規則に従う別のフォルダがあります.htaccess
。wp-content
wp-include
<FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>
私はこれのためにキーボードに頭を叩いて数時間を過ごしました。
答え2
カスタムルールをオーバーライドするためのディレクトリ戻り値がないことを確認してください。