Wordpress JsonAPI -/wp-json/не найден на этом сервере

Я использую следующий плагин 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>

Как вы можете видеть, URL-адрес не найден. Любые рекомендации, если есть проблема с API или wordpress?

Я ценю ваш ответ

Ответ 1

Текущая версия REST api для сайтов с довольно постоянными ссылками не включена, URL

    yoursite.com/?rest_route=/ 

будет работать.

Ответ 3

В моем случае я получил эту ошибку после установки/настройки apache2 на моем локальном компьютере с Linux. В конце концов я обнаружил, что ошибка вызвана тем, что модуль перезаписи не включен, что я исправил с помощью,

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 и проблема была решена.

Ответ 4

Я сталкивался с этой проблемой несколько раз. Решение заключается в следующем:

Войдите на свой сайт Wordpress: example.com/wp-admin

  1. Затем нажмите Настройки

  2. Затем нажмите постоянные ссылки

  3. Затем установите постоянные ссылки на "post-name"

  4. .Сохранить изменения

Screen shot illustrating steps outlined above

Ответ 5

Иногда решение сумасшедшее и простое! перейдите к настройкам постоянной ссылки, перейдя в Admin -> Settings -> Permalinks... затем просто нажмите Save Changes, ничего не делая! Это освежает память WordPress.

Почему это? Для ситуации, с которой я столкнулся ранее, я изменил URL основного веб-сайта, поэтому мне также пришлось обновить постоянные ссылки.

Ответ 6

Если вы правильно установили плагин, обязательно запустите правила перезаписи.

Это можно сделать с помощью wp-cli: http://wp-cli.org/commands/rewrite/flush/

Ответ 7

Я запускал WP в локальной среде разработчика в поддомене localhost (например, mysite.localhost: 8888)

Решением для меня было обновить конфигурацию виртуального хоста в httpd-vhosts.conf, чтобы установить параметры каталога, аналогично ответу Aurovrata:

<VirtualHost *:8888>    
    ServerName mysite.localhost    
    DocumentRoot "/Users/myusername/mysite"    
    <Directory /Users/myusername/mysite>
        Options Indexes FollowSymLinks
        AllowOverride All        
    </Directory>
</VirtualHost>

Ответ 8

У меня возникла та же проблема, и я хотел опубликовать свое решение на тот случай, если кто-нибудь еще столкнется с этим ответом, а другие ответы не решат проблему, как это случилось со мной.

В моем случае у меня не было файла .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>

Это решило проблему для меня. Согласно документации:

WordPress использует этот файл для управления тем, как Apache обслуживает файлы из его корневой каталог и его подкаталоги. В частности, WP изменяет этот файл, чтобы иметь возможность обрабатывать красивые постоянные ссылки.