Error 404 de la API REST de WordPress (wp-api)

He estado usando el complemento WP-API de WordPress REST durante meses mientras desarrollaba localmente con XAMPP. Recientemente, migré mi sitio a una instancia EC2 y todo funciona bien, excepto que ahora obtengo un 404 con el siguiente mensaje cada vez que intento acceder a cualquier punto final de la API:

The requested URL /wordpress/wp-json/ was not found on this server

 Los enlaces permanentes permalinks están habilitados con la siguiente estructura http://…/wordpress/sample-post/que funciona bien cuando se navega a una publicación específica en el navegador.

Aquí hay algunos detalles sobre mi configuración:

  • WordPress  No Multisite
  • WP REST API plugin 2.0-beta9

Cualquier ayuda sería muy apreciada ya que he pasado por SO y los foros de soporte de WP durante varias horas y no tengo ideas. ¡Gracias!

 

SOLUCIÓN a Error 404 de la API REST:

También enfrenté un problema similar en un proyecto local. Usé index.phpdespués de la URL de mi proyecto y funcionó.

http://localhost/myproject/index.php/wp-json/wp/v2/posts

Si muestra un error 404, primero actualice los enlaces permanentes (consulte la sección «La navegación paginada no funciona»

Si funciona, tal vez necesite habilitar mod_rewrite, en ubuntu:

a2enmod rewrite
sudo service apache2 restart

Instalación

¡La API REST está incluida en WordPress 4.7! Ya no se requieren complementos, solo instale la última versión de WordPress y estará listo para comenzar.

Si estás antes de 4.7:

  1. Descargue el complemento desde aquí: http://v2.wp-api.org/
  2. instalarlo y activarlo.

Uso

Para obtener todas las publicaciones:

www.mysite.com/wp-json/wp/v2/posts

Para la funcionalidad de búsqueda, la búsqueda de una publicación de prueba se ve así:

/wp-json/wp/v2/posts?filter[s]=test


También te podría gustar...

2 Respuestas

  1. Edu dice:

    Tuve este problema con la última versión de WordPress 4.7+. En mi caso, la API REST solo funcionó después de que cambié la configuración de enlaces permanentes a algo que no sea «Plain», que era la configuración predeterminada para mi instalación.

  2. Andres dice:

    18

    Resultó ser un problema con la configuración de Apache.

    Primero, eliminé el .htaccessarchivo en el directorio raíz de wordpress.

    A continuación, navegué /etc/apache2/sites-enabledy abrí000-default

    Todas las AllowOverridevariables se establecieron en Ninguno, que reemplacé por All.

    ¡Eso hizo el truco!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.