403 Forbidden with gutenberg

时间:2018-01-16 作者:Jonathan Hodgson

我已经在一个简单的本地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,并得到了同样的结果

1 个回复
最合适的回答,由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>

结束