Woocommerce 休息 api 不工作 401 未经授权
Woocommerce rest api not working 401 unauthorised
我有 wordpress 5.4.1 和 woocommerce 4.2 以及 let's encrypt 的 ssl 证书
在使用查询字符串 https://www.store.com/wp-json/wc/v3/products?consumer_key=ck_XXXX&consumer_secret=cs_XXX
之前,我设法从 API 获得了响应,但它突然停止工作,给我 401 未经授权的错误。我对密钥有 100% 的把握。
我将 php 与 FastCgi 一起使用,我了解到有时服务器无法正确读取授权,因此我尝试了以下操作
我加了
<IfModule mod_setenvif>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=
</IfModule>
和
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
到我的 .htaccess 文件
我还添加了
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
重写引擎开启
后到我的httpd.conf文件
我还安装了基本的身份验证插件https://github.com/WP-API/Basic-Auth
以上所有解决方案均未能得到邮递员或失眠的响应,同样的错误401 unauthorized。
2天后终于得到答案
最好的解决方案是删除所有上述内容并添加
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
所以我的整个 htaccess 块将如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我有 wordpress 5.4.1 和 woocommerce 4.2 以及 let's encrypt 的 ssl 证书
在使用查询字符串 https://www.store.com/wp-json/wc/v3/products?consumer_key=ck_XXXX&consumer_secret=cs_XXX
之前,我设法从 API 获得了响应,但它突然停止工作,给我 401 未经授权的错误。我对密钥有 100% 的把握。
我将 php 与 FastCgi 一起使用,我了解到有时服务器无法正确读取授权,因此我尝试了以下操作
我加了
<IfModule mod_setenvif>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=
</IfModule>
和
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
到我的 .htaccess 文件
我还添加了
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
重写引擎开启
后到我的httpd.conf文件我还安装了基本的身份验证插件https://github.com/WP-API/Basic-Auth
以上所有解决方案均未能得到邮递员或失眠的响应,同样的错误401 unauthorized。
2天后终于得到答案
最好的解决方案是删除所有上述内容并添加
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
所以我的整个 htaccess 块将如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>