WordPress JsonAPI – /wp-json/ no se encontró en este servidor

5 minutos de lectura

Estoy usando el siguiente complemento API de descanso de Json.

Para probar el complemento, el documentación dice que solo debería usar:

$ 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>

Como puede ver, la URL no encuentra nada. ¿Alguna recomendación si hay un problema con la API o wordpress?

aprecio tu respuesta

  • Tienes bastante enlaces permanentes ¿activado?

    – brasofilo

    24 mayo 2014 a las 21:38

  • @brasofilo ¡Gracias por tu respuesta! Sí tengo ;(

    – Carol Kar

    25 mayo 2014 a las 17:02

La versión actual de REST api para sitios con bonitos enlaces permanentes no habilitados, la url

    yoursite.com/?rest_route=/ 

trabajará .

  • @Foad necesita bastantes enlaces permanentes habilitados

    – Pradeep Sapkota

    21 de noviembre de 2018 a las 14:06

  • @DrDeo Echa un vistazo stackoverflow.com/questions/18352682/…

    – Anoop D.

    4 de febrero de 2019 a las 5:12

  • Probablemente valga la pena señalar que esta URL funcionará ya sea que los enlaces permanentes estén habilitados o no, por lo que si no puede saberlo, entonces esta es la opción más segura para usar.

    –Max Carroll

    4 de noviembre de 2019 a las 12:12

La API JSON de WordPress depende de bonitos enlaces permanentesasegúrese de tenerlos habilitados para el sitio.

  • alias – ir a Configuración > Enlaces permanentes y cambie la configuración a “Nombre del puesto” para que te funcione. Sería cauteloso al hacer esto si ya tiene un sitio activo, ya que modificará muchas de sus URL.

    – Miguel

    18 de enero de 2019 a las 17:07

  • Pero vea el comentario de @Mohammad AlBanna stackoverflow.com/a/57403026/516537

    – iND

    4 de noviembre de 2019 a las 3:30

En mi caso, recibí este error después de instalar/configurar apache2 en mi máquina Linux local. Finalmente encontré que el error se debía a que el módulo de reescritura no estaba habilitado, lo arreglé usando,

sudo a2enmod rewrite

además de asegurarme de que mi archivo apache2.conf (ubicado en la carpeta /etc/apache2) tenga su<Directory> directiva ‘AllowOverride’ establecida en todos en lugar de ninguno, de

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

a

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

luego reinicié el servicio apache2 y el problema se resolvió.

  • ¿Cómo hacer esto si tienes Bluehost como servidor?

    usuario11319228

    4 de junio de 2021 a las 9:37

  • deberá ponerse en contacto con su soporte para obtener los archivos de configuración de apache. Bluehost no le facilita el acceso a estos archivos.

    – Aurovrata

    5 de junio de 2021 a las 11:06

  • ¡Gracias! ¡Funciona!

    – Luca Scandroglio

    15 dic 2021 a las 18:40

avatar de usuario
Daggie Blanqx – Douglas Mwangi

Me he enfrentado a este problema varias veces. La solución es esta:

Inicie sesión en su sitio de WordPress: ejemplo.com/wp-admin

  1. Luego haga clic en ajustes

  2. Luego haga clic en enlaces permanentes

  3. Luego establezca los enlaces permanentes en “Nombre del puesto

  4. Guardar cambios

Captura de pantalla que ilustra los pasos descritos anteriormente

¡A veces la solución es loca y fácil! Vaya a la configuración de enlaces permanentes moviéndose a Admin -> Settings -> Permalinks…entonces simplemente golpea Save Changes sin hacer nada mas! Esto refresca la memoria de WordPress.

¿Porqué es eso? Para una situación que tuve antes, cambié la URL del sitio web principal, así que también tuve que actualizar los enlaces permanentes.

  • Creo que esta era solo tu situación, lo que probablemente sea más importante es lo que habías seleccionado, tal vez “Nombre de la publicación”.

    –Max Carroll

    8 de octubre de 2019 a las 9:04

  • @MaxCarroll, esta solución también funcionó para mí. Creo que es más importante vaciar/restablecer las referencias. Hacer clic en “Guardar cambios” afecta la base de datos incluso si no se realizan cambios visuales.

    – iND

    4 de noviembre de 2019 a las 3:26


avatar de usuario
JMac

Estaba ejecutando WP en un entorno de desarrollo local en un subdominio de localhost (por ejemplo, mysite.localhost:8888)

La solución para mí fue actualizar la configuración del host virtual en httpd-vhosts.conf para establecer las opciones de directorio, de manera similar a la respuesta de Aurovrata:

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

  • Creo que esta era solo tu situación, lo que probablemente sea más importante es lo que habías seleccionado, tal vez “Nombre de la publicación”.

    –Max Carroll

    8 de octubre de 2019 a las 9:04

  • @MaxCarroll, esta solución también funcionó para mí. Creo que es más importante vaciar/restablecer las referencias. Hacer clic en “Guardar cambios” afecta la base de datos incluso si no se realizan cambios visuales.

    – iND

    4 de noviembre de 2019 a las 3:26


avatar de usuario
logos_164

Tuve este mismo problema y quería publicar mi solución en caso de que alguien más encuentre esta respuesta y las otras respuestas no resuelven el problema, como sucedió conmigo.

En mi caso no tuve .htaccess archivo con el valor predeterminado de WordPress mod_rewrite normas:

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

Esto resolvió el problema para mí. por el documentación:

WordPress usa este archivo para manipular cómo Apache sirve archivos desde su directorio raíz y sus subdirectorios. En particular, WP modifica este archivo para poder manejar bonitos enlaces permanentes.

¿Ha sido útil esta solución?