Evitar que WordPress sobrescriba el archivo .htaccess

Al gestionar un sitio WordPress, el archivo .htaccess es clave para configurar redirecciones de URL y mejorar la seguridad. Sin embargo, actualizar WordPress o instalar nuevos temas y plugins podría hacer que WordPress sobrescriba este archivo.

Esto puede interferir con tu configuración y provocar errores o problemas de seguridad. En este post exploraremos algunos métodos para evitar que WordPress modifique automáticamente tu archivo .htaccess.

¿Qué es el archivo .htaccess en WordPress?

El archivo .htaccess (Hypertext Access) es un archivo de configuración en servidores Apache que controla directorios y archivos. WordPress lo usa principalmente para gestionar permalinks de URL, lo que lo convierte en una parte esencial de la estructura de tu sitio.

Sin embargo, los cambios personalizados en este archivo pueden perderse cuando WordPress o ciertos plugins se actualizan, ya que tienden a reescribir este archivo para asegurarse de aplicar las configuraciones por defecto de WordPress.

Usos habituales de .htaccess en WordPress incluyen:

  • Configurar URLs amigables para SEO
  • Configurar redirecciones 301
  • Limitar el acceso por IP por seguridad
  • Definir páginas de error personalizadas
  • Implementar reglas de caché para mejorar el rendimiento

¿Por qué WordPress sobrescribe el archivo .htaccess?

WordPress sobrescribe .htaccess cuando se realizan cambios en:

  • Estructura de permalinks: Cambiar la estructura de URL desde el menú de Ajustes en WordPress.
  • Plugins específicos: Algunos plugins ajustan automáticamente el archivo .htaccess para añadir reglas personalizadas de SEO, caché o seguridad.
  • Actualizaciones automáticas: Las actualizaciones de WordPress pueden modificar .htaccess para garantizar compatibilidad o seguridad.

Reglas para impedir que WordPress sobrescriba tu archivo .htaccess

Si entiendes cómo funciona el archivo .htaccess, puedes asegurarte de que tus reglas personalizadas se mantengan intactas. WordPress y los plugins solo modifican secciones marcadas, así que evita añadir código allí.

Nota: Antes de realizar cambios, es recomendable hacer una copia de seguridad de tu sitio. Esto te permite volver rápidamente al estado anterior si algo sale mal. WP Staging ofrece una solución sencilla para configurar copias de seguridad automáticas. Para asistencia adicional, consulta la guía de copia de seguridad y restauración.

No modifiques el código dentro de los marcadores de WordPress

"No modifiques el código dentro de los marcadores de WordPress" significa evitar ediciones dentro de las etiquetas # BEGIN WordPress y # END WordPress en .htaccess. WordPress controla esta sección y la actualiza automáticamente.

Evita editar código dentro de las etiquetas # BEGIN WordPress y # END WordPress en .htaccess

No modifiques el código dentro de los marcadores de tus plugins

"No modifiques el código dentro de los marcadores de tus plugins" significa evitar cambios en secciones de .htaccess que añaden los plugins, marcadas con comentarios como # BEGIN PluginName y # END PluginName. El plugin controla estas áreas y pueden sobrescribirse durante las actualizaciones.

Evita modificar las secciones de .htaccess marcadas con # BEGIN PluginName y # END PluginName

Crear marcadores para tu código personalizado

"Crear marcadores para tu código personalizado" significa añadir comentarios únicos como # BEGIN MyCustomRules para identificar tus reglas personalizadas en el archivo .htaccess, facilitando su gestión y evitando sobrescrituras accidentales.

Añade comentarios únicos como # BEGIN MyCustomRules en .htaccess para identificar reglas personalizadas y evitar sobrescrituras accidentales.

Las mejores soluciones para impedir que WordPress sobrescriba el archivo .htaccess

  1. Cambiar los permisos del archivo .htaccess
  2. Usar código personalizado en wp-config.php

1. Cambiar los permisos del archivo .htaccess

Una forma sencilla de evitar que WordPress sobrescriba tu archivo .htaccess es establecer sus permisos como solo lectura. Esto impide que WordPress, los plugins u otros procesos realicen cambios. Aquí está cómo hacerlo:

Inicia sesión en tu cuenta de hosting y busca el Administrador de archivos en la sección Archivos.

Inicia sesión en tu cuenta de hosting y encuentra el Administrador de archivos.

Navega al directorio raíz de tu instalación de WordPress (normalmente public_html).

Accede al directorio raíz de WordPress, normalmente public_html.

Localiza tu archivo .htaccess, haz clic derecho sobre él y elige Cambiar permisos del menú.

Haz clic derecho en el archivo .htaccess y selecciona Cambiar permisos.

Aparecerá un cuadro de diálogo mostrando los permisos actuales del archivo. Establece los permisos en 444 y luego haz clic en Cambiar permisos para guardar los cambios.

Establece los permisos del archivo en 444 en el cuadro de diálogo

Establecer el archivo .htaccess como solo lectura impide que WordPress lo modifique y protege tus reglas personalizadas, añadiendo seguridad extra a tu sitio.

2. Usar código personalizado en wp-config.php

Puedes evitar que WordPress modifique tu archivo .htaccess añadiendo código personalizado al archivo wp-config.php. Esto desactiva las actualizaciones automáticas del archivo .htaccess durante cambios en permalinks o plugins. Aquí está cómo:

Accede al directorio raíz de WordPress, localiza el archivo wp-config.php, haz clic derecho y selecciona Editar del menú.

Haz clic derecho en el archivo wp-config.php y selecciona Editar.

Añade la siguiente línea de código justo antes de la línea que dice /* That's all, stop editing! Happy publishing. */:

PHP
add_filter('got_rewrite', '__return_false');

Después, guarda el archivo tras añadir el código.

Guarda el archivo tras añadir el código.

Añadir código al archivo wp-config.php impide que WordPress reescriba el archivo .htaccess, manteniendo tus reglas personalizadas a salvo. Este método funciona bien junto a otras protecciones como los permisos de archivo.

Conclusión

Para mantener tu archivo .htaccess a salvo de las actualizaciones de WordPress, puedes cambiar los permisos del archivo a solo lectura o añadir código personalizado al archivo wp-config.php.

Estos sencillos pasos te ayudan a proteger la configuración de tu sitio sin monitorización constante, dándote tranquilidad y más control sobre la funcionalidad de tu sitio.

Artículos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.