你好,我将它与 GuzzleHttp Client 类一起使用,如下所示:
$blogService = new Client([
'base_uri' => $baseBlogUrl . '/wp-json/wp/v2/',
'headers' => [
'Authorization' => 'Bearer ' . $result['access_token']
],
'debug' => true
]);
这导致错误: {"code":"rest_authentication_no_header","message":"Authorization header was not found.","data":{"status":403}}
请求的调试显示授权标头存在:
POST /wp-json/wp/v2/users HTTP/1.1
Authorization: Bearer ACCESS_TOKEN_HERE
User-Agent: GuzzleHttp/6.4.1 curl/7.29.0 PHP/7.4.0RC6
Content-Type: application/json
嘿,
可能已经找到了一些解决方案。
在 .htaccess 行中添加了 3 行(因为 HTTP_AUTHORIZATION 似乎被删除了):
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
如下(在这个特定的地方):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
如果这些行被删除,还不确定更新某些插件时会发生什么......
编辑:也许有些东西要添加到自述文件中?
另外,想知道是否有办法通过插件安装自动将这些行添加到 .htaccess 文件中...
嘿,
可能已经找到了一些解决方案。在 .htaccess 行中添加了 3 行(因为 HTTP_AUTHORIZATION 似乎被删除了):
RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
如下(在这个特定的地方):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] </IfModule> SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
如果这些行被删除,还不确定更新某些插件时会发生什么......
编辑:也许有些东西要添加到自述文件中?
另外,想知道是否有办法通过插件安装自动将这些行添加到 .htaccess 文件中...
这对我也有效。 干杯。
最有用的评论
嘿,
可能已经找到了一些解决方案。
在 .htaccess 行中添加了 3 行(因为 HTTP_AUTHORIZATION 似乎被删除了):
如下(在这个特定的地方):
如果这些行被删除,还不确定更新某些插件时会发生什么......
编辑:也许有些东西要添加到自述文件中?
另外,想知道是否有办法通过插件安装自动将这些行添加到 .htaccess 文件中...