Apache サーバーのサブドメインを参照できません。禁止されたリソース権限を取得しています。

Apache サーバーのサブドメインを参照できません。禁止されたリソース権限を取得しています。

ウェブサイト 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]ログイン ページが表示されませんでした。

関連情報