Ir al contenido principal

Los enlaces internos de mi WordPress dan error 404: faltan las reglas de WordPress en el .htaccess

Escrito por Javier Galeote

Síntomas

La portada de la web carga con normalidad, pero al pinchar en cualquier entrada, noticia o página interna el navegador muestra un error 404 (página no encontrada) o una página en blanco. Ayer funcionaba y hoy, sin haber tocado nada aparente, los enlaces han dejado de funcionar.

Causa habitual

WordPress necesita un bloque de reglas en el fichero .htaccess de la raíz de la instalación para que funcionen las URLs amigables (los enlaces permanentes). Si ese bloque se borra o se corrompe (por una edición manual, un plugin de seguridad o de caché, una restauración de copia, etc.), todos los enlaces internos dejan de resolver.

El bloque estándar es este:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Cómo solucionarlo

  1. La forma más sencilla: entra en el administrador de WordPress, ve a Ajustes → Enlaces permanentes y pulsa Guardar cambios sin modificar nada. WordPress regenera automáticamente las reglas del .htaccess.

  2. Si no puedes acceder al administrador, edita el fichero .htaccess de la raíz de la web desde el Administrador de archivos de cPanel y añade el bloque estándar indicado arriba.

  3. Comprueba de nuevo los enlaces. Si sigues viendo el error, vacía la caché del navegador y de la web, porque puedes estar viendo contenido cacheado.

Consejo

Antes de editar el .htaccess haz siempre una copia del fichero. Si el problema reaparece con frecuencia, revisa qué plugin o proceso está modificando el fichero.

¿Ha quedado contestada tu pregunta?