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. Los campos obligatorios están marcados con *