Recientemente, uno de nuestros lectores preguntó si era posible evitar que WordPress sobrescribiera el código personalizado en su archivo .htaccess.
WordPress, junto con varios complementos, agrega configuraciones personalizadas al archivo de configuración .htaccess. Si ha agregado su propio código personalizado a .htaccess, es posible que le preocupe que se sobrescriba o elimine.
En este artículo, le mostraremos cómo evitar que WordPress sobrescriba el archivo .htaccess.
¿Por qué WordPress sobrescribe el archivo .htaccess?
Su archivo .htaccess es un poderoso archivo de configuración que almacena configuraciones importantes sobre su sitio web de WordPress. Contiene reglas que le indican a su servidor de alojamiento cómo manejar su sitio.
WordPress usa el archivo .htaccess para almacenar su configuración de enlace permanente. Siempre que cambie o regenere sus enlaces permanentes, WordPress sobrescribirá automáticamente la configuración anterior en .htaccess con la nueva configuración.
Algunos complementos de WordPress también guardan su configuración en .htaccess. Por ejemplo, el complemento W3 Total Cache modificará su archivo .htaccess para configurar las herramientas de almacenamiento en caché y optimización que forman parte del complemento.
Por último, puede realizar sus propios cambios personalizados en .htacess para controlar cómo funciona su sitio web. Por ejemplo, puede agregar reglas personalizadas al archivo que proteja su área de administración, mantenga su sitio a salvo de piratas informáticos, configure redireccionamientos, prohíba direcciones IP sospechosas y más.
A algunos usuarios les preocupa que, si agregan sus propias reglas personalizadas a .htaccess, se eliminen cuando WordPress sobrescriba el archivo con la nueva configuración. Otros usuarios prefieren configurar manualmente .htaccess y no dejar que WordPress escriba nada en él.
Dicho esto, echemos un vistazo a cómo evitar que WordPress sobrescriba su archivo .htaccess. Simplemente use los enlaces rápidos a continuación para saltar a la sección que le interesa.
Cómo evitar que WordPress sobrescriba sus reglas .htaccess
La buena noticia es que si comprende cómo funciona el archivo .htaccess, puede estar seguro de que sus reglas personalizadas no se sobrescribirán.
Esto se debe a que las áreas del archivo que WordPress o sus complementos cambiarán están claramente marcadas. Simplemente asegúrese de no agregar código a esas áreas.
No modifique el código dentro de los marcadores de WordPress
Como dijimos anteriormente, WordPress usa .htaccess para almacenar la configuración de una estructura de URL compatible con SEO. El código que guarda en el archivo se sobrescribirá y actualizará automáticamente cada vez que cambie la configuración de su enlace permanente.
Como puede ver en la captura de pantalla a continuación, WordPress guarda esta información entre dos marcadores, # BEGIN WordPress
y # END WordPress
.
Observe la advertencia dentro de esos marcadores:
Las directivas (líneas) entre «BEGIN WordPress» y «END WordPress» se generan dinámicamente y solo deben modificarse a través de los filtros de WordPress. Cualquier cambio en las directivas entre estos marcadores se sobrescribirá.
Esto significa que WordPress no sobrescribirá ni modificará ningún código que agregue fuera de estos marcadores. Los usuarios suelen agregar su código personalizado en la parte superior del archivo, encima del # BEGIN WordPress
marcador.
Consejo: .htaccess es un archivo oculto ubicado en la carpeta raíz de su sitio de WordPress. Si tiene dificultades para encontrarlo, consulte nuestra guía sobre por qué no puede encontrar el archivo .htaccess en su sitio de WordPress.
No modifique el código dentro de los marcadores de sus complementos
Cuando un complemento guarda su configuración en .htaccess, también lo coloca entre marcadores que parecen # BEGIN Plugin
y # END Plugin
.
Por ejemplo, si instala y configura el complemento W3 Total Cache para mejorar la velocidad y el rendimiento de su sitio web, agregará reglas a .htaccess entre # BEGIN W3TC Browser Cache
y # END W3TC Browser Cache
marcadores
Estas reglas se sobrescribirán cada vez que cambie la configuración del complemento, por lo que debe tener cuidado de no agregar sus propias reglas .htaccess personalizadas entre esos marcadores.
Creación de marcadores para su código personalizado
En casos raros, un complemento que se comporta mal puede modificar el código fuera de su # BEGIN
y # END
marcadores Sin embargo, normalmente no modificará el código que se encuentra entre los marcadores utilizados por WordPress u otros complementos.
Si le preocupa que un complemento con mal comportamiento sobrescriba su código, puede agregar sus propios marcadores al archivo .htaccess.
Por ejemplo, puede escribir # BEGIN MyCustomCode
y # END MyCustomCode
marcadores en la parte superior del archivo .htaccess y luego agregue sus propias reglas personalizadas entre esos marcadores.
Si también necesita agregar código al final de .htaccess, puede agregar un conjunto diferente de marcadores allí. Sólo asegúrese de darles nombres diferentes. Por ejemplo, podría usar ‘MyCustomCodeTop’ y ‘MyCustomCodeBottom’.
Cómo evitar que WordPress modifique .htaccess
Ahora que comprende cómo funciona .htaccess, puede puede estar seguro de que WordPress o sus complementos no sobrescribirán su código personalizado.
Sin embargo, algunos desarrolladores y usuarios avanzados quieren evitar que WordPress realice cambios en .htaccess.
Por ejemplo, es posible que deseen crear enlaces permanentes escribiendo la configuración manualmente en .htaccess. En este caso, querrán evitar conflictos impidiendo que WordPress guarde su propia configuración de enlace permanente en el archivo.
No recomendamos esto a menos que sepa lo que está haciendo, porque puede tener consecuencias inesperadas. Sin embargo, se puede hacer cambiando los permisos del archivo o usando código.
Impedir que WordPress cambie .htaccess usando permisos de archivo
Una forma de evitar que WordPress modifique .htaccess es hacer que el archivo sea de solo lectura. Para hacer esto, debe cambiar los permisos de archivo utilizando un cliente FTP o el administrador de archivos proporcionado por su proveedor de alojamiento de WordPress.
Encontrará el archivo .htaccess en el directorio raíz de su instalación de WordPress. A continuación, debe hacer clic derecho en el archivo y seleccionar ‘Permisos de archivo’.
Esto mostrará una ventana emergente donde puede cambiar los atributos del archivo.
La configuración predeterminada será 644, pero puede cambiarla a 444 escribiendo directamente en el campo ‘Valor numérico’ o asegurándose de que solo las casillas ‘Leer’ estén marcadas.
Una vez que haga clic en el botón ‘Aceptar’, el archivo será de solo lectura y no se podrá modificar.
Por supuesto, esto significará que tampoco podrá escribir en el archivo. Cuando desee realizar cambios, deberá volver a establecer temporalmente los permisos de archivo en 644.
Impedir que WordPress cambie .htaccess usando código
Otra solución es usar un fragmento de código que le permita a WordPress saber que no debe escribir en el archivo .htaccess. Esto es útil si desea evitar que WordPress modifique .htaccess sin bloquear sus complementos.
Nota: Editar cualquier archivo principal de WordPress puede ser peligroso. Incluso un pequeño error puede causar errores importantes en su sitio. Es por eso que solo recomendamos este método para usuarios avanzados.
Simplemente agregue el siguiente fragmento de código al final de su archivo wp-config.php. Si necesita ayuda, consulte nuestra guía sobre cómo editar el archivo wp-config.php en WordPress.
add_filter('got_rewrite', '__return_false');
Una vez que haya hecho eso, WordPress ya no escribirá en el archivo .htaccess.
Aparece un mensaje de error cuando WordPress no puede cambiar .htaccess
Si intenta cambiar la configuración de su enlace permanente cuando .htaccess está configurado como de solo lectura, aparecerá un mensaje de error.
en la parte superior de la Ajustes » Enlaces permanentes página, verá el mensaje ‘Debe actualizar su archivo .htaccess ahora’.
Esto le permite saber que WordPress no pudo modificar el archivo .htaccess.
Normalmente, esto es lo que pretendías. Sin embargo, si desea agregar la configuración de enlace permanente de WordPress a .htaccess, deberá hacerlo manualmente.
En la parte inferior de la Configuración ≫ Enlaces permanentes página, verá otro mensaje de error que dice que su archivo .htaccess no se puede escribir. Debajo de eso, verá las reglas que deben agregarse a .htaccess.
Si desea agregar esa configuración, deberá cambiar temporalmente los permisos del archivo .htaccess a 644 para poder editarlo. Después de eso, debe pegar las reglas entre los marcadores BEGIN y END de WordPress del archivo, reemplazando el código que ya está allí.
Cuando haya terminado, simplemente vuelva a establecer el valor en 444 y guarde el archivo. Una vez más será imposible de escribir.
Esperamos que este tutorial le haya ayudado a aprender cómo evitar que WordPress sobrescriba el archivo .htaccess. Es posible que también desee aprender cómo agregar notificaciones automáticas en WordPress y consultar nuestra lista de expertos de los mejores complementos y herramientas de SEO de WordPress.