Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo evitar que WordPress sobrescriba el archivo .htaccess

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

Recientemente, uno de nuestros lectores preguntó si era posible evitar que WordPress sobrescribiera el código personalizado de su archivo .htaccess.

WordPress, junto con varios plugins, añade ajustes personalizados al archivo de configuración .htaccess. Si ha añadido su propio código personalizado a .htaccess, puede que le preocupe que se sobrescriba o se borre.

En este artículo, le mostraremos cómo evitar que WordPress sobrescriba el archivo .htaccess.

How to Stop WordPress From Overwriting .htaccess File

¿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.

WordPress Markers in .htaccess

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.

Example of Plugin Markers in .htaccess

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.

You Can Create Your Own Markers in .htaccess for Your Custom Rules

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”.

Selecting File Permissions From the Menu in Your FTP Client

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”.

Changing the .htaccess File Permissions to 444 or Read-Only

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”.

Permalink Settings Error Message When .htaccess Cannot Be Accessed

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.

List of Rules You Will Need to Add to .htaccess Manually if Needed

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

Ahora que ya sabe cómo evitar que WordPress sobrescriba el archivo .htaccess, puede que le interese ver otras guías relacionadas con .htaccess.

Esperamos que este tutorial te haya ayudado a aprender cómo evitar que WordPress sobrescriba el archivo .htaccess. Puede que también quieras ver nuestra guía práctica sobre cómo añadir avisos instantáneos en WordPress y nuestra selección experta de los mejores plugins y herramientas SEO para WordPress.

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.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

3 comentariosDeja una respuesta

  1. Syed Balkhi says

    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!

  2. Jiří Vaněk says

    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.

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.