wp 폴더의 모든 PHP에서 403 얻기

wp 폴더의 모든 PHP에서 403 얻기

CentOS 6.7에서 nginx + httpd와 함께 VestaCP 사용

웹사이트는 잘 돌아가고 있지만 403 오류가 발생하여 자바스크립트에서 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-contentwp-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

사용자 정의 규칙을 재정의할 수 있는 디렉터리 반환 값이 없는지 확인하세요.

관련 정보