Apache 서버에서 하위 도메인을 탐색할 수 없으며 금지된 리소스 권한을 얻었습니다.

Apache 서버에서 하위 도메인을 탐색할 수 없으며 금지된 리소스 권한을 얻었습니다.

cPanelA와 웹사이트 A..., 하위 도메인 A1이 있습니다. 모든 것이 잘 작동합니다.

웹사이트 B를 사용하여 새 cPanelB를 만들었고 하위 도메인 A1을 하위 도메인 B1인 cPanel B로 이동해야 합니다.

웹사이트 B는 작동하지만...모든 하위 도메인 A1을 cPanel B에 복사한 후 하위 도메인 B1을 작동시킬 수 없습니다. 계속 돌아오는데Forbidden - you don't have permission to access this resource

cPanelB에서 모든 파일/디렉토리 소유권이 올바른지 확인했습니다. 모든 파일 권한이 올바른지 확인했습니다(파일 권한은 0644, 디렉터리 권한은 0755). 새 cPanel에 WHM을 통해 PHP가 활성화되어 있음을 확인했습니다. 한 시간 넘게 좌절한 끝에 하위 도메인 B1의 파일 구조/권한/소유권이 하위 도메인 A1의 파일 구조/권한/소유권과 동일하다는 것을 확인했습니다.

.htaccess 파일을 웹사이트 A 및 하위 도메인 A1에서 웹사이트 B 및 하위 도메인 B로 복사한 다음 모든 도메인 참조를 새 B 하위/도메인으로 변경했습니다. 그래서 내 .htaccess 파일이 아닌 것 같습니다... 루트 /www/.htaccess파일에 하위 도메인 폴더를 가리키도록 다시 작성되어 있고 /www/club브라우저에서 실제로 하위 도메인 폴더로 이동하는 것을 볼 수 있기 때문에 실제로 작동하는 것 같습니다. 도메인 B.

이것이 지루한 일이라는 것을 알지만, 문제가 무엇인지 전혀 모릅니다.

www/.htaccess:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule !^api/ api%{REQUEST_URI} [L,NC]  // api.domainB.com
RewriteCond %{HTTP_HOST} ^portal\. [NC]      // portal.domainB.com
RewriteRule !^club/ portal%{REQUEST_URI} [L,NC]

Options -Indexes

SetEnvIf X-Rquested-With com.domainB domainB

#AddType application/x-httpd-php7 .html .htm

ErrorDocument 404 https://www.domainB.com/errorpage.html

# file upload info

DirectoryIndex index.html index.htm index.php
AddHandler application/x-httpd-ea-php73 .php .html .htm .phtml

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php73” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

www/club/.htaccess: Portal.domainB.com

RewriteEngine On

RewriteCond %{HTTP_HOST} !^portal\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ -  [F]

#AddType application/x-httpd-php5 .html .htm

DirectoryIndex index.html index.htm index.php

Header set Access-Control-Allow-Origin "*"
AddHandler application/x-httpd-ea-php73 .php .html .php7 .phtml
ErrorDocument 404 https://portal.domainB.com/errorpage.html

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php73” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php73 .php .php7 .phtml .html
</IfModule>
# php -- END cPanel-generated handler, do not edit

답변1

알았어, 알아냈어. 오늘 아침에 일어나서 직감적으로 이것이 문제라는 것을 알았습니다.

RewriteRule ^ -  [F]

이 줄은 403 Forbidden오류를 발생시킵니다. 동일한 .htaccess 파일을 api.domainA.com에 적용하고 api.domainB.com에 복사했는데 역시 정확했습니다. 그러나 api.domainB.com .htaccess 파일도 Portal.domainB.com으로 복사되고 해당 하위 도메인에는 사용자 로그인이 필요하지만 [F]로그인 페이지가 나타나지 않습니다.

관련 정보