pretty permanent permalink links wordpress wordpress-plugin wp-api wordpress-rest-api

permanent - Error de Wordpress REST API(wp-api) 404



wordpress wp json 404 (7)

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

La URL solicitada / wordpress / wp-json / no se encontró en este servidor

Los enlaces permanentes bonitos 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 4.4.1
    • No es un multisitio
  • WP REST API plugin 2.0-beta9
  • Apache 2.2.22
  • Ubuntu 12.04.5

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!



Había movido la instalación de WordPress de un subdirectorio a otro, por lo que en mi caso el problema se debía a la configuración de WordPress en los archivos .htaccess . Estaba intentando redirigir todas las páginas excepto la página de inicio al directorio anterior. Era solo una cuestión de actualizar olddir a newdir ... Esto me hizo tropezar más de una vez, así que pensé en ponerlo aquí ...

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /olddir/ RewriteRule ^index/.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /olddir/index.php [L] </IfModule> # END WordPress


Resolví este problema a través de los siguientes pasos:

  1. Vaya a .. / Apache24 / conf / httpd.conf y busque los LoadModule rewrite_module modules/mod_rewrite.so .

  2. Habilite el módulo de reescritura eliminando la marca # .

  3. Reemplace todos los casos de AllowOverride None por AllowOverride All .

  4. No te olvides de reiniciar el servidor apache. :)


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

Primero, .htaccess archivo .htaccess en el directorio raíz de wordpress.

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

Todas las variables AllowOverride se establecieron en Ninguna, que reemplazé con All .

Eso hizo el truco!


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 los enlaces permanentes a algo distinto de "Normal", que era la configuración predeterminada para mi instalación.


ACTUALIZADO NUEVO CAMINO

También me enfrenté a un problema similar en un proyecto local. Utilicé index.php después de la url de mi proyecto y funcionó.

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

Si muestra un error 404, actualice primero los enlaces permanentes (consulte la sección "La navegación con paginación no funciona"

Si funciona, quizás necesite habilitar mod_rewrite , en ubuntu:

a2enmod rewrite sudo service apache2 restart

Instalación

La API REST está incluida en WordPress 4.7! Los complementos ya no son necesarios, 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. Instálalo y actívalo.

Uso

Para obtener todos los mensajes:

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

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

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


Tuve que hacer manualmente un .htaccess , configurarlo en chmod 664 y copiar las reglas de enlace permanente en él.

También jugué un poco con

  • Configuraciones> Permalinks
  • Actualizar manualmente .htaccess a través del código en la parte inferior de la página de enlaces permanentes después de hacer clic en "Guardar"
  • Agregar "index.php" como sugiere una de las otras respuestas
  • Asegurarse de que la mod rewrite fue habilitada a través de a2enmod