在此服务器上找不到Wordpress JsonAPI - /wp-json /

Ann*_*lee 25 wordpress json wordpress-plugin openshift

我使用以下插件Json Rest API.

要测试插件,文档说明我应该使用:

$ curl -i http://testpress-maxximus.rhcloud.com/wp-json/
HTTP/1.1 404 Not Found
Date: Sat, 24 May 2014 07:01:21 GMT
Server: Apache/2.2.15 (Red Hat)
Content-Length: 303
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /wp-json/ was not found on this server.</p>
<hr>
<address>Apache/2.2.15 (Red Hat) Server at testpress-maxximus.rhcloud.com Port 8
0</address>
</body></html>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,URL没有找到任何内容.如果API或wordpress出现问题,是否有任何建议?

感谢您的回复

Ano*_*p D 34

当前版本的REST api适用于未启用相当固定链接的网站,即网址

    yoursite.com/?rest_route=/ 
Run Code Online (Sandbox Code Playgroud)

将工作 .

  • yoursite.com/index.php/wp-json也可以 (3认同)
  • @Foad它需要启用漂亮的永久链接 (2认同)

Eri*_*wis 28

WordPress JSON API 依赖于非常永久链接,请确保为站点启用了它们.

  • 又名-转到“设置&gt;固定链接”,然后将设置更改为“帖子名称” **,以使其适合您。如果您已经有一个实时站点,我将对此保持谨慎,因为它将修改许多URL。 (4认同)

log*_*164 9

我遇到了同样的问题,想发布我的解决方案,以防其他人遇到这个答案,而其他答案不能解决问题,因为这发生在我身上。

就我而言,我没有.htaccess包含 WordPress 默认mod_rewrite规则的文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题。根据文档

WordPress 使用此文件来控制 Apache 如何从其根目录及其子目录提供文件。最值得注意的是,WP 修改了该文件以能够处理漂亮的永久链接。


Moh*_*nna 7

有时解决方案既疯狂又简单!通过移动到永久链接设置Admin -> Settings -> Permalinks...然后直接点击Save Changes而不做任何其他事情!这刷新了WordPress的记忆。

这是为什么?对于我之前遇到的情况,我更改了主网站 URL,因此我也必须刷新永久链接。


Aur*_*ata 6

就我而言,在本地linux计算机上安装/配置apache2之后,出现了此错误。我最终发现错误是由于我使用修复的未启用重写模块引起的,

sudo a2enmod rewrite

并确保我的apache2.conf文件(位于/ etc / apache2文件夹中)的<Directory>指令“ AllowOverride”设置为全部,而不是全部

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

然后我重新启动了apache2服务,问题解决了。


Dag*_*nqx 6

我已经多次面对这个问题。解决方法是这样的:

登录到您的Wordpress网站:example.com/wp-admin

  1. 然后点击设置

  2. 然后点击永久链接

  3. 然后将永久链接设置为“ post-name

  4. 保存更改

该屏幕截图说明了上面概述的步骤

  • 虽然它已经设置好了,但再次保存为我解决了这个问题。 (2认同)