
ウェブサイト A とサブドメイン A1 を持つ cPanelA があり、すべて正常に動作しています。
ウェブサイト 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 経由)。1 時間以上も試行錯誤した後、サブドメイン B1 のファイル構造/権限/所有権がサブドメイン A1 のものと同一であることを確認しました。
ウェブサイト A とサブドメイン A1 の .htaccess ファイルをウェブサイト B とサブドメイン B にコピーし、ドメイン参照を新しい B サブ/ドメインに変更しました。したがって、これは私の .htaccess ファイルの問題ではないと思います。ルート/www/.htaccess
ファイルがサブドメイン フォルダーを指すように書き換えられており/www/club
、ブラウザーで実際にサブドメイン B にアクセスしていることが確認できるため、.htaccess ファイルは実際に機能しているようです。
これはおそらく退屈なことになるだろうとわかっていますが、問題が何であるかについては全くわかりません。
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]
ログイン ページが表示されませんでした。