我已经使用 WordPress REST 插件 WP-API 几个月了,同时使用 XAMPP 进行本地开发。 我最近将我的网站迁移到了 EC2 实例,一切都工作正常 除了 现在,每当我尝试访问 API 上的任何端点时,我都会收到带有以下消息的 404:
在此服务器上找不到请求的 URL /wordpress/wp-json/
启用了漂亮的永久链接,具有以下结构
http://.../wordpress/sample-post/
,在浏览器中导航到特定帖子时效果很好。
以下是有关我的设置的一些详细信息:
任何帮助将不胜感激,因为我已经浏览了SO和WP支持论坛几个小时并且没有想法。 谢谢!
更新了新方式
我在本地项目中也遇到了类似的问题。 我在我的项目 url
之后使用了
index.php
并且它有效。
http://localhost/myproject/index.php/wp-json/wp/v2/posts
如果显示 404 错误,则首先更新永久链接(请参阅“分页导航不起作用”部分
如果有效,也许你需要在 ubuntu 上启用
mod_rewrite
:
a2enmod rewrite
sudo service apache2 restart
REST API 包含在 WordPress 4.7 中!不再需要插件,只需安装最新版本的 WordPress 即可开始使用。
如果您是 4.7 之前的版本:
从这里下载插件:http://v2.wp-api.org/
安装并激活它。
获取所有帖子:
www.mysite.com/wp-json/wp/v2/posts
对于搜索功能,搜索测试帖子如下所示:
/wp-json/wp/v2/posts?filter[s]=test
我在使用最新的 WordPress 4.7+ 时遇到了这个问题。就我而言,REST API 仅在我将永久链接设置更改为“Plain”(我的安装的默认设置)之外的其他内容后才起作用。
在 WPEngine 和 WP 4.9.2 上,我只需更新永久链接即可获取新安装的站点以返回 v2 API 调用。我做了什么:
原来是Apache配置的问题。
首先,我删除了wordpress根目录中的
.htaccess
文件。
接下来,我导航到
/etc/apache2/sites-enabled
并打开 000-default
所有
AllowOverride
变量均设置为 None,我将其替换为 All
。
就这样成功了!
首先您必须检查 WordPress REST API 是否已启用
最好的检查方法是访问此 URL:
https://yoursite.com/wp-json
。
如果您看到一些 JSON 响应,则表明 REST API 已启用。
如果显示一些错误页面或返回主页,则表明 REST API 未启用。然后我们必须先启用它。
在这种情况下,您必须启用永久链接
https://yoursite.com/wp-json
)https://yoursite.com/wp-admin/options-permalink.php
).htaccess
请参阅下面的帮助屏幕截图:
是文件权限错误,应用以下解决方案:
编辑此文件
/etc/apache2/apache2.conf
将 /var/www/
权限从“无”更改为“全部”
重新启动 apache2
服务器。
我通过以下步骤解决了这个问题:
导航到..\Apache2