我安装了WordPress,并将其转换为多站点网络。我正在使用cPanel,并按照所有说明配置WordPress安装。我已经设置了子域模式,所以对于每个新网站,我都需要使用共享托管提供商的cPanel创建一个子域。
问题是,每次我尝试访问子域网站时,都会出现403错误。我如何解决这个问题.htaccess
代码正确吗?
注意:创建时,每个子域在服务器上都有自己的目录,因此,例如,如果在cPanel中设置mysite.example.com
作为子域,将在服务器的根目录中创建相对目录,名称为mysite.example.com
. 我已经读到,子域必须指向WordPress的主安装目录。我也设置了通配符,但没有成功。
这是.htaccess
密码
# BEGIN Custom
<IfModule mod_rewrite.c>
Options All -Indexes
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
</IfModule>
<IfModule mod_headers.c>
#Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header set X-Content-Type-Options nosniff
Header set X-XSS-Protection "1; mode=block"
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header unset X-Powered-By
Header unset X-Pingback
Header unset SERVER
</IfModule>
<FilesMatch "(^\\.|wp-config(-sample)*\\.php)">
Order Deny,Allow
Deny from all
</FilesMatch>
# END Custom
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress
wp-config.php
密码
// HTTPS
if( strpos($_SERVER[\'HTTP_X_FORWARDED_PROTO\'], \'https\') !== false) $_SERVER[\'HTTPS\'] = \'on\';
define(\'MULTISITE\', true);
define(\'SUBDOMAIN_INSTALL\', true);
define(\'DOMAIN_CURRENT_SITE\', \'mysite.com\');
define(\'PATH_CURRENT_SITE\', \'/\');
define(\'SITE_ID_CURRENT_SITE\', 1);
define(\'BLOG_ID_CURRENT_SITE\', 1);
SO网友:MrWhite
every subdomain has it\'s own directory on the server 创建时,例如,如果在cPanel中设置mysite.example.com
作为子域,将在服务器的根目录中创建相对目录,名称为mysite.example.com
. I\'ve read that the subdomains must point to the main wordpress installation directory.
你似乎在回答你自己的问题。是的,子域都需要指向主WordPress安装。这就是多站点的工作方式,所有请求都由相同的WordPress安装、相同的前端控制器(根目录中的mod\\u rewrite指令)处理.htaccess
文件)。
在cPanel中创建子域时,您应该完全控制子域“文档根”。(如果需要,它甚至允许您将其指向完全位于主域文档根目录之外的目录。)
通过创建指向子目录的子域,您可以设置DocumentRoot
该子域的子目录。它不一定能够访问上面目录中的文件(主域文档根目录)。
当您访问子域时,它可能没有索引文档(并且目录列表被禁用),那么默认情况下,您将得到403禁止响应。