wordpress - WP REST API 和 "Only authenticated users can access the REST API"

标签 wordpress rest api authentication

我有一个 wordpress:https://example.com 我需要使用 WP REST API。

在 .htaccess 中:

# BEGIN WordPress
<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>
# END WordPress

我在我的 wordpress 上使用了 Basic-Auth 插件:https://github.com/WP-API/Basic-Auth

不过我有:

{
    "code": "rest_cannot_access",
    "message": "Only authenticated users can access the REST API.",
    "data": {
        "status": 401
    }
}

enter image description here

我测试了 http 和 https。

怎么了?

最佳答案

解决了!

我改成了下面的

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteBase /
RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

HTTP_AUTHORIZATION 规则必须在其他规则之前,这是因为存在 L 标志,L 标志表示(最后 - 停止处理规则),因此如果它在原始规则之后它永远不会到达该规则WordPress 规则,

关于wordpress - WP REST API 和 "Only authenticated users can access the REST API",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50413414/

相关文章:

c++ - 通用 API 发布技术

c# - 获取任何文件的缩略图,包括 Windows XP/Vista 上的 SolidWorks

java - 通过 ADB 从 JavaFX 应用程序操作 Android 设备

php - woocommerce 小部件 "filter products by attribute"显示不可用的产品

WordPress:wp_create_nonce() 未在自定义插件中创建值

php - 将特色图片添加到自定义帖子类型

将 REST 与 BaseAdapter 结合使用的 AndroidAnnotations 抛出 'Can' t 在未调用 Looper.prepare() 的线程内创建处理程序'

java - 无法使用 JAX-RS Jersey 2.3.1 和 Tomcat 7 使 ChunkedOutput 工作

php - 如何使用REST API控制paypal中的 'Choose a way to pay'

javascript - 如何解决 Blocked a frame with origin from accessing a cross origin frame error in wordpress?