Skip to content
Home » Problemas con la REST API de WordPress y los enlaces permanentes al grabar una entrada

Problemas con la REST API de WordPress y los enlaces permanentes al grabar una entrada

En algunas versiones de WordPress si tenemos habilitados los enlaces permanentes con una estructura que no es la que viene por defecto, sino del tipo /%postname%/, puede ocurrir que cuando redactando un artículo y pulsamos grabar como borrador nos diga que la respuesta JSON no es válida.

Realmente no se debe a que la respuesta JSON sea inválida sino que es el resultado de un 404 porque no encuentra la dirección

/wp-json/wp/v2/…

sin embargo, anteponiendo index.php, funciona, es decir:

index.php/wp-json/wp/v2/

En este caso la solución en introducir una línea en el archivo .htaccess:

RewriteRule ^wp-json/wp/v2/(.*)$ index.php/wp-json/wp/v2/$1 [L,QSA]

de forma que la parte de WP, va a quedar así:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^wp-json/wp/v2/(.*)$ index.php/wp-json/wp/v2/$1 [L,QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Algunos ante este problema, han propuesto cambiar la forma de los enlaces de los enlaces permanentes al modo por defecto que, efectivamente funciona, pero así hemos perdido las URLs semánticas, lo cual no es opción.