我已经在一个简单的本地WP站点上安装了Gutenberg。
我已经安装并激活了插件,但每当我试图更改帖子时,我都会得到updating failed
警告签入开发工具时,我看到403 Forbidden
服务器正在返回响应。
我在this 文章,确保我有漂亮的永久链接。
我将请求发送到BURP 播放发送的请求。这是:
PUT /wp-json/wp/v2/pages/60 HTTP/1.1
Host: ***my local domain***
Connection: close
Content-Length: 777
Pragma: no-cache
Cache-Control: no-cache
Origin: ***my local domain***
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3323.0 Safari/537.36
Content-Type: application/json
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
X-WP-Nonce: b365dcef8f
DNT: 1
Referer: https://***my local domain***/wp/wp-admin/post.php?post=60&action=edit
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8
Cookie: wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_260694076abf2baac48f7f0d0bc8d5ba=jab2870%7C1516284183%7CBeGMhE39HOJIPjnVq5TXYmmRpIIDLrel50pzD1aIojs%7C730f751757f9a721555c87e9410057eda7e3c2300d09cda168179157cc53e685
{"status":"publish","content":"<!-- wp:paragraph -->\\n<p>test</p>\\n<!-- /wp:paragraph -->","id":60}
如果我提出要求
GET
而不是
PUT
, 我得到了一个有效的200响应,但更改显然没有生效。我想可能是我的本地服务器阻止了PUT请求。我没有
mod_security
虽然已启用,但我不知道还有什么会阻止它们。
我正在跑步
PHP 7.0.18,Apache 2.4.25,WP 4.9.1,Gutenberg 2.0.0,我曾尝试在vanilla WP上安装Gutenberg,并得到了同样的结果
最合适的回答,由SO网友:Jonathan Hodgson 整理而成
如果有人遇到这个问题,我的apache配置中有以下内容
<Directory "/home/*/Sites">
AllowOverride All FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
WP API正在尝试使用该方法
PUT
. 我也相信它有时会使用这种方法
DELETE
.
将上述代码更改为以下代码为我解决了这一问题:
<Directory "/home/*/Sites">
AllowOverride All FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST PUT DELETE OPTIONS
</Directory>