我有 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 已启用 PHP(通过 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,这也是正确的。但还将 api.domainB.com .htaccess 文件复制到 Portal.domainB.com,并且该子域需要用户登录,但[F]
阻止了登录页面的出现。