多站点安装问题和REST API请求的403错误

时间:2019-08-04 作者:walterinsect

我已将WP设置为具有子域的多站点安装。站点网络和每个站点的仪表板都工作正常,但我在父站点上使用块编辑器时遇到的错误除外。

所以我有wyamazaki。fi作为我的主域,希望创建两个网站,一个用于博客,另一个用于使用多站点的公司网站。我在cPanel中设置了通配符子域,重定向似乎正在工作。

每当我在主站点上创建/编辑页面时,块编辑器都会失败,错误为“更新失败”。我检查了Chrome上的控制台,似乎所有的API请求都导致了403错误。(404是我在.htaccess中测试不同重写基的时候)screenshot of chrome console

我已经检查了我的。htaccess,在我看来,它们似乎没什么问题。

#HTTPS-ohjaus: wyamazaki.fi
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^wyamazaki.fi [NC,OR]
RewriteCond %{HTTP_HOST} ^www.wyamazaki.fi [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
#HTTPS-ohjaus loppuu
#HTTPS-ohjaus: *.wyamazaki.fi
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^*.wyamazaki.fi [NC,OR]
RewriteCond %{HTTP_HOST} ^www.*.wyamazaki.fi [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
#HTTPS-ohjaus loppuu
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]
奇怪的是,它对子域子站点(translation.wyamazaki.fi)的效果很好,但父站点(wyamazaki.fi)给了我403个页面。我怀疑服务器端的安全性有问题,但不能肯定。

我可以使用Classic Editor而不存在上述问题,但从长远来看,它似乎忽略了这个问题(块编辑器似乎在不久的将来不会消失,所以…)。

我想到的另一个选择是使用两个子域,并将重定向设置为其中一个子域,以便为wyamazaki显示它。fi访问,但不确定如何访问(我仍在学习apache和php)。

感谢您的帮助!

2 个回复
SO网友:Pat J

如果您在子域模式下使用WordPress Multisite,以下是推荐的.htaccess 文件WordPress部分(参见the WordPress support page):

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]
(假设您从WordPress 3.5或更高版本开始。有关WP 3.4及更低版本,请参阅上面链接的支持页面。)

你的.htaccess 文件看起来实际上使用了子文件夹Multisite installation中的代码。

SO网友:jjmu15

我遇到了由Cloudflare代理引起的类似问题。

为了解决这个问题,我关闭了cloudflare中的SSL,在服务器上安装了LetsEncrypt,然后将cloudflare的SSL设置更改为;“完整”;这让我第一次感觉一切正常。

相关推荐

如何在同一个子目录下安装不同域名的WordPress MultiSite?

目前,我有一个WordPress博客,其中有一个域,如下所示:http://example.com/blog所有WordPress文件都在blog 目录现在我想使用WordPress多站点功能创建另一个站点。第二个站点如下:http://example-2.com/blog两个域都指向相同的root directory 因此,两个域都可以访问相同的blog 目录我已尝试使用此插件WordPress MU Domain Mapping 由于当前正在安装WordPress,因此无法正常工作/blog/以下是我