Uno de nuestros lectores nos preguntó recientemente si es posible evitar que WordPress sobrescriba su código personalizado en el archivo .htaccess. Esta es una preocupación común, ya que WordPress y varios plugins a menudo añaden sus propios ajustes a este archivo de configuración.
Si ha añadido código personalizado a .htaccess, es comprensible que le preocupe que se sobrescriba o borre. Mantener este código a salvo evitará interrupciones en el rendimiento y la seguridad de su sitio.
En este artículo, le guiaremos a través de los pasos para evitar que WordPress sobrescriba el archivo .htaccess. Siguiendo estas instrucciones, podrás proteger tu código personalizado y asegurarte de que tu sitio web funcione sin problemas y sin interferencias.
¿Por qué WordPress sobrescribe el archivo .htaccess?
Su archivo .htaccess es un potente archivo de configuración que almacena importantes ajustes acerca de su sitio web WordPress. Contiene reglas que indican a su servidor de alojamiento cómo gestionar su sitio.
WordPress utiliza el archivo .htaccess para almacenar sus ajustes de permalink. Cada vez que cambie o regenere sus permalinks, WordPress sobrescribirá automáticamente los ajustes antiguos en .htaccess con los nuevos ajustes.
Algunos plugins de WordPress también establecen sus ajustes en .htaccess. Por ejemplo, el plugin W3 Total Cache modificará su archivo .htaccess para configurar las herramientas de almacenamiento en caché y optimización que forman parte del plugin.
Por último, puede realizar sus propios cambios personalizados en .htacess para controlar el funcionamiento de su sitio web. Por ejemplo, puede añadir reglas personalizadas al archivo para proteger su área de administrador, mantener su sitio a salvo de piratas informáticos, establecer redireccionamientos, prohibir direcciones IP sospechosas, etc.
A algunos usuarios les preocupa que si añaden sus propias reglas personalizadas a .htaccess, éstas puedan ser borradas cuando WordPress sobrescriba el archivo con nuevos ajustes. Otros usuarios prefieren configurar manualmente .htaccess y no dejar que WordPress escriba en él en absoluto.
Dicho esto, veamos cómo evitar que WordPress sobrescriba su archivo .htaccess. Simplemente utilice 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 entiende 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 serán modificadas por WordPress o sus plugins están claramente marcadas. Simplemente asegúrate de no añadir código en esas áreas.
No modifique el código dentro de los marcadores de WordPress
Como hemos dicho antes, WordPress utiliza .htaccess para almacenar los ajustes para una estructura de URL SEO-friendly. El código que guarda en el archivo se sobrescribirá y actualizará automáticamente cada vez que cambie sus ajustes de enlaces permanentes.
Como puede ver en la siguiente captura de pantalla, WordPress guarda esta información entre dos marcadores, # BEGIN WordPress
y # END WordPress
.
Fíjese en la advertencia que hay 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 añada fuera de estos marcadores. Los usuarios suelen añadir su código personalizado en la parte superior del archivo, por encima del marcador # BEGIN WordPress
.
Consejo:.htaccess es un archivo oculto que se encuentra en la carpeta raíz de su sitio WordPress. Si tiene dificultades para encontrarlo, eche un vistazo a 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 plugins
Cuando un plugin guarda sus ajustes en .htaccess, también lo coloca entre marcadores que parecen # BEGIN Plugin
y # END Plugin
.
Por ejemplo, si instala y establece el plugin W3 Total Cache para mejorar la velocidad y el rendimiento de su sitio web, entonces añadirá reglas a .htaccess entre los marcadores # BEGIN W3TC Browser Cache
y # END W3TC Browser Cache
.
Estas reglas se sobrescribirán cada vez que cambie los ajustes del plugin, por lo que debe tener cuidado de no añadir sus propias reglas .htaccess personalizadas entre esos marcadores.
Creación de marcadores para su código personalizado
En raras ocasiones, un plugin con mal comportamiento puede modificar código fuera de sus marcadores # BEGIN
y # END
. Sin embargo, normalmente no modificará el código que se encuentre entre los marcadores usados por WordPress u otros plugins.
Si le preocupa que un plugin con mal comportamiento sobrescriba su código, puede añadir sus propios marcadores al archivo .htaccess.
Por ejemplo, puede escribir los marcadores #
BEGIN MyCustomCode
y # END MyCustomCode
en la parte superior del archivo .htaccess, y luego añadir sus propias reglas personalizadas entre esos marcadores.
Si también necesita añadir código al final de .htaccess, entonces puede establecer allí un conjunto diferente de marcadores. Sólo asegúrese de darles nombres diferentes. Por ejemplo, puedes usar ‘MyCustomCodeTop’ y ‘MyCustomCodeBottom’.
Cómo evitar que WordPress modifique .htaccess
Ahora que entiende cómo funciona .htaccess, puede estar seguro de que su código personalizado no será sobrescrito por WordPress o sus plugins.
Sin embargo, algunos desarrolladores y usuarios avanzados quieren evitar que WordPress realice cambios en .htaccess.
Por ejemplo, es posible que desee crear enlaces permanentes escribiendo los ajustes manualmente en .htaccess. En este caso, querrá evitar conflictos impidiendo que WordPress guarde sus propios ajustes de permalink en el archivo.
No recomendamos hacer esto a menos que sepas lo que estás haciendo, ya que puede dar lugar a consecuencias inesperadas. Sin embargo, se puede hacer cambiando los permisos del archivo o utilizando código.
Cómo evitar 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 ello, debe cambiar los permisos del archivo mediante un cliente FTP o el gestor 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 con el botón derecho en el archivo y seleccionar “Permisos de archivo”.
Aparecerá una ventana emergente en la que podrá modificar los atributos del archivo.
El ajuste por defecto será 644, pero puede cambiarlo a 444 escribiendo directamente en el campo “Valor numérico” o asegurándose de que solo están marcadas las casillas “Leer”.
Al hacer clic en el botón “Aceptar”, el archivo será de solo lectura y no podrá modificarse.
Por supuesto, esto significará que tampoco se ha podido escribir en el archivo. Cuando desee realizar cambios, deberá establecer temporalmente los permisos del archivo en 644.
Cómo evitar que WordPress modifique .htaccess mediante código
Otra solución es usar un fragmento de código que permita a WordPress saber que no debe escribir en el archivo .htaccess. Esto es útil si quieres evitar que WordPress modifique .htaccess sin bloquear tus plugins.
Nota: Editar cualquier archivo del núcleo de WordPress puede ser peligroso. Incluso un pequeño error puede causar errores importantes en su sitio. Por eso solo recomendamos este método para usuarios avanzados.
Simplemente añada el siguiente fragmento de código al final de su archivo wp-config.php. Si necesitas ayuda, consulta nuestra guía sobre cómo editar el archivo wp-config.php en WordPress:
add_filter('got_rewrite', '__return_false');
Una vez hecho esto, WordPress ya no escribirá en el archivo .htaccess.
Mensaje de error que aparece cuando WordPress no puede cambiar .htaccess
Si intenta cambiar los ajustes de enlaces permanentes cuando .htaccess está establecido en solo lectura, aparecerá un mensaje de error.
En la parte superior de la página Configuración ” Enlaces permanentes, verá el mensaje “Debería actualizar su archivo .htaccess ahora”.
Esto le indica que WordPress no se ha podido modificar el archivo .htaccess.
Normalmente, esto es lo que pretendía. Sin embargo, si desea añadir los ajustes de permalink de WordPress a .htaccess, tendrá que hacerlo manualmente.
En la parte inferior de la página Configuración “ Enlaces permanentes, verá otro mensaje de error que dice que su archivo .htaccess no tiene permisos de escritura. Debajo verás las reglas que hay que añadir a .htaccess.
Si desea añadir estos ajustes, deberá cambiar temporalmente los permisos del archivo .htaccess a 644 para que pueda ser editado. 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 establezca el valor de nuevo en 444 y guarde el archivo. Volverá a ser no grabable.
Guías de expertos sobre .htaccess en WordPress
Esperamos que este tutorial le haya ayudado a aprender cómo evitar que WordPress sobrescriba el archivo .htaccess. Puede que también quieras ver otras guías relacionadas con el archivo .htaccess:
- Glosario: .htaccess
- Cómo corregir el archivo .htaccess de WordPress (Guía para principiantes)
- Trucos .htaccess más útiles para WordPress
- Por qué no puede encontrar el archivo .htaccess en su sitio de WordPress
- Cómo añadir cabeceras de seguridad HTTP en WordPress (Guía para principiantes)
- Cómo añadir cabeceras caducadas en WordPress
- Guía para principiantes para diagnosticar errores en WordPress (paso a paso)
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Jiří Vaněk
This was one of the first articles on WPBeginner when I deliberately searched for why a customer’s .htaccess was being overwritten. Now we know it, understand it, and also write .htaccess correctly. Many thanks for understanding the reason.
WPBeginner Support
Glad our guide could help!
Administrador