
У меня есть cPanelA с сайтом A...с поддоменом A1 - все работает правильно.
Я создал новую cPanelB с веб-сайтом B... и мне нужно переместить поддомен A1 в cPanel B как поддомен B1.
Сайт B работает... но после копирования всего поддомена A1 в cPanel B я не могу заставить работать поддомен B1. Он продолжает возвращатьсяForbidden - you don't have permission to access this resource
В cPanelB я проверил, что все права собственности на файлы/каталоги верны. Я проверил, что все права доступа к файлам верны (0644 для файлов и 0755 для каталогов). Я проверил, что PHP включен для новой cPanel (через WHM). После более чем часа разочарований я проверил, что структура файлов/права/владение поддомена 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, что тоже было правильно. Но также скопировал файл .htaccess api.domainB.com в portal.domainB.com, и этот поддомен требует входа пользователя, но не [F]
дает странице входа появиться.