This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

Cómo utilizar el archivo .htaccess de WordPress para proteger, optimizar y controlar las redirecciones

Updated on June 11, 2025

22 Min Read

Puntos clave:

  • El archivo .htaccess es una potente herramienta para WordPress, que permite controlar las redirecciones, la seguridad y el rendimiento, pero requiere un manejo cuidadoso debido a su sensibilidad.
  • Dominar el .htaccess puede mejorar significativamente tu sitio de WordPress, desde URL aptas para SEO y sólidas medidas de seguridad hasta un mejor rendimiento mediante el almacenamiento en caché y la compresión.

El archivo .htaccess es un archivo crucial del núcleo de WordPress que te permite modificar configuraciones a nivel de servidor, ajustes de seguridad y parámetros de rendimiento.

Cuando instalas WordPress por primera vez, crea varios directorios como wp-admin, wp-content y wp-includes para mantener tu sitio en funcionamiento. WordPress también crea el archivo .htaccess, que funciona como un archivo de configuración que indica a tu servidor cómo gestionar las distintas peticiones.

En palabras más sencillas, puedes utilizar el archivo .htaccess para limpiar URLs para SEO, configurar redireccionamientos automáticos, mejorar la seguridad bloqueando accesos no autorizados y optimizar el rendimiento con reglas de almacenamiento en caché.

Sin embargo, muchos propietarios de sitios web desconocen el potencial real de este archivo y desaprovechan la oportunidad de optimizar al máximo sus servidores (y sitios web).

Para ayudar a los usuarios de WordPress, esta guía explicará cómo encontrar y editar el archivo .htaccess dentro de WordPress, incluyendo varias aplicaciones de reglas.

¿Qué es un archivo .htaccess de WordPress?

Un archivo .htaccess es la sala de control de tu sitio web, que contiene reglas esenciales que rigen toda la comunicación con tu alojamiento web de WordPress WordPress.

Puedes encontrar los archivos .htaccess en el directorio principal de tu instalación de WordPress. WordPress utiliza estos archivos para gestionar tareas predeterminadas como la gestión de redirecciones y la configuración de estructuras de enlaces permanentes.

En concreto, el archivo .htaccess (también conocido como archivo de configuración a nivel de directorio) de WordPress te permite realizar varias tareas, como configurar redireccionamientos, reescribir URL para SEO, activar la protección de enlaces directos, restringir el acceso a archivos específicos y mejorar la seguridad y el rendimiento mediante funciones como el almacenamiento en caché y la compresión.

Muchos plugins de WordPress, especialmente los de seguridad y almacenamiento en caché, también dependen de este archivo para realizar sus funciones, a menudo añadiendo reglas para cosas como impedir el acceso no autorizado o habilitar el almacenamiento en caché. Esta es la razón por la que verás escrito # Begin GzipofBreezeWPCache en la captura de pantalla de mi archivo .htaccess.

Puedes colocar el .htaccess en la carpeta de cualquier sitio web para cambiar el comportamiento de esa carpeta.

Este es el aspecto del archivo .htaccess de mi servidor:

ejemplo de archivo htaccess de cloudways

¡Atención!

Un solo punto (.) mal colocado puede hacer que tu sitio web se caiga. Por tanto, antes de realizar cualquier cambio en el archivo .htaccess, haz una copia de seguridad del mismo en una ubicación externa. Ponte en contacto con tu proveedor de alojamiento si algo va mal o si necesitas ayuda.

Seguridad y velocidad preconfiguradas en .htaccess

Nuestra pila LAMP + NGINX incluye:
✓ Valores predeterminados .htaccess optimizados
✓ SSL de renovación automática para redireccionamientos seguros
✓ Almacenamiento en caché en 1 clic para reducir los ajustes manuales

¿Cómo localizar el archivo .htaccess de WordPress?

WordPress recomienda oficialmente NGINX y Apache para ejecutar tus sitios. Si tu sitio WordPress funciona con NGINX, no verás ningún archivo .htaccess, ya que no utiliza este archivo.

Pero, si tu sitio WordPress está alojado en un servidor web Apache, encontrarás el archivo .htaccess en el directorio raíz(public_html o www).

Método FTP FileZilla para localizar el archivo .htaccess de WordPress

  • Para acceder a tu archivo .htaccess, conecta tu servidor mediante un cliente FTP como FileZilla y ve a la carpeta raíz de tu aplicación. En mi caso, la ruta raíz es “/applications/mamxbvhtce/public_html”.

acceder al archivo htaccess a través de filezilla ftp

  • Si no ves ningún archivo .htaccess, es posible que esté oculto (no tiene ninguna extensión de archivo), principalmente porque el gestor de archivos lo oculta por motivos de seguridad. Para acceder al archivo oculto .htaccess, ve a la opción servidor (en FileZilla) y marca la opción Forzar mostrar archivos ocultos.

forzar mostrar archivos ocultos en filezilla

Método cPanel para localizar el archivo .htaccess de WordPress

Si utilizas cPanel, así es como puedes encontrar tu archivo .htaccess:

  1. Entra en tu cPanel y accede al Gestor de Archivos, como se muestra en la siguiente imagen.

Entra en tu cPanel y accede al Gestor de Archivos

  1. Pulsa el botón de Configuración en la esquina superior derecha de tu pantalla.

Botón de configuración en cpanel

  1. En la ventana emergente que aparece, marca “Mostrar archivos ocultos (dotfiles)”. Así te aseguras de que puedes ver el archivo .htaccess, que a veces puede estar oculto.

Mostrar archivos ocultos (dotfiles) en cpanel

  1. Haz clic en Guardar, y el archivo debería estar ahora visible en el Gestor de Archivos.

Después de localizar el archivo .htaccess, puedes editarlo como necesites.

¿Dónde se encuentra el archivo .htaccess predeterminado de WordPress?

El archivo .htaccess por defecto se almacena en el directorio raíz de tu instalación de WordPress. Sin embargo, como es un archivo oculto, puede que no lo veas inmediatamente.

Puedes acceder a él utilizando un cliente FTP como FileZilla o a través del Gestor de Archivos de tu panel de control de alojamiento (como cPanel). Ya he explicado los pasos para hacerlo anteriormente en esta guía.

Si falta el archivo .htaccess, comprueba primero que los archivos ocultos están activados en la configuración del Administrador de archivos. Si sigues sin verlo, es posible que WordPress aún no lo haya creado; esto es habitual si no se han configurado los enlaces permanentes.

En ese caso, puedes crear manualmente un archivo htaccess estándar de WordPress:

  1. Abre el Bloc de notas (o cualquier editor de texto).
  2. Guarda el archivo como “.htaccess” (con un punto al principio).
  3. Establece “Guardar como tipo” en Todos los archivos y súbelo al directorio raíz mediante FTP o el Gestor de Archivos.

Nota: Asegúrate de que el archivo se llama “.htaccess” y no sólo “htaccess”. El punto al principio es necesario para que funcione.

guardar archivo htaccess

El archivo .htaccess predeterminado de WordPress tiene este aspecto:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

¿Cómo crear un archivo htaccess para WordPress?

Por si no lo sabes, el archivo .htaccess por defecto no siempre está presente en las instalaciones nuevas de WordPress, sino que WordPress lo genera automáticamente cuando configuras los enlaces permanentes. Si este es tu caso, puedes hacerlo fácilmente a través del panel de administración de WordPress.

Para generar el archivo .htaccess manualmente:

  • Visita el panel de control de WordPress.
  • Haz clic en Configuración > Enlaces permanentes.
  • Pulsa el botón Guardar cambios.

crear el archivo .htaccess

Después de hacer esto, WordPress creará el archivo .htaccess dentro del directorio raíz de tu sitio web. Por defecto, este archivo sólo gestiona los permalinks, pero puedes modificarlo para añadir reglas personalizadas para cosas como redirecciones, almacenamiento en caché, seguridad y otros servidor Apache del servidor Apache.

Por supuesto, ésta no es la única forma de crear un archivo .htaccess. También puedes crear un archivo manualmente directamente en el cPanel (si utilizas cPanel) o crear uno utilizando un editor de texto como el que te he mostrado antes y subirlo a tu servidor web utilizando un cliente FTP como FileZilla.

Para cPanel

  • Accede a tu cuenta de cPanel.
  • Abre el Gestor de Archivos desde la sección Archivos, como te he mostrado antes.

Entra en tu cPanel y accede al Gestor de Archivos

  • Una vez dentro, haz clic en el botón +Archivo de la parte superior izquierda.

añadir nuevo archivo htaccess en cpanel

  • Cuando aparezca una pequeña ventana, escribe .htaccess como nombre del archivo y selecciona la carpeta donde quieres crearlo.

Crear un nuevo archivo htaccess en cpanel

  • Haz clic en Crear nuevo archivo para guardarlo.

Para SFTP

Si prefieres este método, como te he mostrado antes, crea un nuevo archivo. Asegúrate de nombrarlo “.htaccess” y no “htaccess”. En el archivo, pega este código:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Nota: Puedes añadir reglas adicionales al archivo que has creado en función de requisitos de seguridad, almacenamiento en caché o rendimiento.

Después de guardar el archivo, utiliza cualquier cliente SFTP de tu elección. Yo estoy utilizando FileZilla para este ejemplo. Simplemente arrastra y suelta el archivo en la carpeta donde quieras crearlo. Yo pondré este archivo en la carpeta public.html.

subir nuevo archivo htaccess usando filezilla

¿ediciones .htaccess que han salido mal?

Intercambia ajustes de seguridad y reglas de redireccionamiento con profesionales de WordPress en nuestro Reddit.

¿Cómo editar el archivo .htaccess en WordPress?

Para editar el archivo .htaccess en WordPress, ve a tu directorio raíz utilizando el gestor de archivos proporcionado por tu proveedor de alojamiento de WordPress. También puedes utilizar un cliente FTP como FileZilla.

  • Conéctate a tu cliente FTP.
  • Navega hasta la carpeta “public_html” y busca el archivo .htaccess.

Archivo .htaccess

  • Haz clic con el botón derecho y pulsa la opción “Ver/Editar” para abrirlo en tu editor de texto preferido.

Opción

  • Realiza los cambios necesarios y guarda el archivo.

Otra forma de editar el archivo .htaccess de WordPress es hacer una copia en el sistema local. Una vez que hayas terminado, sustituye la versión local utilizando FTP o el gestor de archivos.

sustituye el antiguo archivo htaccess por el nuevo

¿Cómo editar .htaccess WordPress usando cPanel?

Si prefieres una alternativa al método FTP descrito anteriormente, puedes utilizar el cPanel disponible en tu cuenta de alojamiento. Estos son los pasos para editar el archivo .htaccess en WordPress utilizando cPanel:

  • Acceder al Panel de Control: Accede al panel de control de tu cuenta de alojamiento.
  • Abre el Gestor de Archivos: Dentro del panel de control, localiza y abre la herramienta“Gestor de Archivos”.
  • Navega hasta public_html: En el menú de navegación de la izquierda, haz clic en la carpeta“public_html”, que es el directorio principal de tu sitio web.
  • Localiza la carpeta de WordPress: Dentro del directorio “public_html”, localiza y abre la carpeta“wordpress” donde reside tu instalación de WordPress.

Editar .htaccess WordPress Usando cPanel

  • Encuentra el archivo .htaccess: Dentro de la carpeta “wordpress”, encontrarás el archivo .htaccess. Haz clic con el botón derecho del ratón sobre él para iniciar el proceso de edición.
  • Editar archivo .htaccess: Selecciona la opción para editar el archivo .htaccess. Se abrirá un editor de texto en tu navegador.
  • Añade código: Introduce cualquier código que desees implementar, asegurándote de colocarlo antes de la línea que dice “# BEGIN WordPress”.

Siguiendo estos pasos, puedes modificar eficazmente el archivo .htaccess de tu sitio WordPress utilizando cPanel.

No más dolores de cabeza con el .htaccess

Asideros autónomos Cloudways:
✓ Reglas de seguridad y redireccionamientos
✓ Escalado de picos de tráfico
✓ Optimización PHP/MySQL

¿Cómo editar el .htaccess de WordPress con un plugin?

Otra forma de editar el archivo .htaccess es utilizando un plugin de WordPress como Htaccess File Editor. Este tipo de plugins te permiten editar el archivo .htaccess directamente desde el backend de WordPress.

Editar el .htaccess de WordPress con un plugin

A continuación te explicamos cómo puedes editar tu archivo .htaccess en WordPress utilizando el plugin Editor de Archivos Htaccess:

  • Accede a tu panel de administración de WordPress.
  • Busca el plugin “Editor de archivos Htaccess” en el repositorio de plugins de WordPress.
  • Instala y activa el plugin.
  • Dentro del panel de control, ve a“Configuración” y luego selecciona“Editor WP Htaccess”.
  • Como paso preliminar, inserta una nueva línea justo antes de la sección“# BEGIN WordPress” en el archivo .htaccess.
  • Y ya está. Puedes añadir cualquier fragmento de código para definir las reglas o configuraciones que desees.

¿Cómo configurar las redirecciones .htaccess de WordPress?

Puedes utilizar el archivo .htaccess de WordPress para controlar las redirecciones de los sitios web. A continuación encontrarás algunas reglas de uso frecuente que te ayudarán a configurar y controlar las redirecciones en tus sitios web WordPress.

Redirección 301 (permanente)

Una redirección 301 indica a los motores de búsqueda que una URL se ha trasladado permanentemente a otra ubicación. Esto no se limita sólo a las URL; también puedes redirigir una carpeta, una página o incluso un sitio web completo. El siguiente fragmento redirigirá la página oldpage.html a newpage.html:

Redirigir 301 /páginaantigua.html https://www.yourwebsite.com/newpage.html

Redirección 302 (temporal)

A diferencia de la 301, la redirección 302 indica a los motores de búsqueda que la redirección es temporal. Utilizar la redirección 302 te ayuda a ralentizar (o incluso evitar) los cambios en las SERP.

Añade la siguiente línea al archivo .htaccess:

Redirigir 302 /páginaantigua.html http://www.yourwebsite.com/newpage.html

Forzar URL a www

La siguiente regla .htaccess en WordPress obligará a todos los visitantes de ejemplo.com a utilizar www.example.com

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example.com [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

Forzar URL a no www

La siguiente regla .htaccess de WordPress obligará a todos los visitantes de www.example.com a utilizar ejemplo.com

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.example.com [NC]

RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Forzar HTTPS

La siguiente regla en el archivo .htaccess de WordPress obligará a todos tus visitantes a utilizar HTTPS en lugar de HTTP para todas las URL.

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Sigue leyendo: Aprende a añadir un certificado SSL a un sitio web WordPress.

Forzar HTTP

La siguiente regla en el archivo .htaccess obliga a tus visitantes a utilizar HTTP en lugar de HTTPS para todas las URL.

RewriteEngine On

RewriteCond %{HTTPS} on

RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

WordPress htaccess Redireccionar Con Directorio

La siguiente regla redirigirá la URL raíz del dominio al subdirectorio que elijas.

RewriteCond %{HTTP_HOST} ^example.com$

RewriteCond %{REQUEST_URI} !^/sub-directory-name/

RewriteRule (.*) /subdir/$1

Redirigir una URL

Si dos dominios sirven al mismo sitio web, la regla .htaccess mencionada a continuación redirigirá un dominio al otro.

Redirección 301 / http://www.mynewwebsite.com/

Redirigir una entrada o página

Si quieres redirigir una única entrada o página, puedes añadir la siguiente línea de código para cualquier entrada o página que quieras redirigir:

Redirigir 301 /old-url-slughttps://yourdomain.com/new-url-slug

Supongamos que quieres redirigir“https://www.claudwoys.com/blog/core-web-vitals/”a“https://www.claudwoys.com/blog/core-web-vitals-seo/”.Entonces, añadirías la siguiente línea de código en el archivo .htaccess:

Redirección 301 /core-web-vitals/ https://www.claudwoys.com/blog/core-web-vitals-seo/

La antigua URL redirigirá ahora a la nueva URL a todos los que hagan clic en un enlace interno o externo.

Redirige todo tu sitio web

Si quieres redirigir todo tu sitio web a un nuevo dominio, puedes añadir el siguiente fragmento de código al archivo .htaccess de WordPress:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^olddummydomain.com [NC,OR]

RewriteCond %{HTTP_HOST} ^www.olddummydomain.com [NC]

RewriteRule ^(.*)$ https://newdummydomain.com/$1 [L,R=301,NC]

Sustituye el texto ficticio del código anterior por tus nombres de dominio antiguo y nuevo.

Para que lo entiendas mejor: Imagina que tienes una página web llamadawww.oldwebsite.com/about”. Con los cambios que hemos hecho, cualquiera que vaya a ese enlace será conducido a la nueva página enwww.newwebsite.com/about”.

Más de 12.000 agencias nos confían su .htaccess

✓ Gestión de .htaccess de marca blanca para clientes
✓ Soporte 24/7 para reparaciones urgentes de redireccionamiento
✓ Puesta en escena para probar los cambios de configuración

Consejos de seguridad para WordPress .htaccess

Dado que WordPress es una plataforma de código abierto, sus sitios siguen siendo vulnerables a las brechas de seguridad. Por lo tanto, los usuarios deben tomar medidas proactivas, como optar por un alojamiento web creíble como Cloudways que priorice la seguridad del sitio web y permanecer protegidos contra el tráfico malicioso y los ataques DDoS.

Cloudways Flexible y Autónomo, ambos cuentan con Cloudflare Enterprise, SafeUpdates y un escáner de vulnerabilidades, lo que garantiza una presencia en línea segura.

También puedes proteger tus directorios y archivos de WordPress mediante el archivo .htaccess. Sigue las siguientes reglas para asegurar tus sitios web WordPress.

Proteger el archivo .htaccess

El archivo .htaccess puede controlar potencialmente todo el sitio web. Así que también debes proteger tu .htaccess de usuarios no autorizados. Restringe el acceso al archivo .htaccess copiando/pegando el siguiente fragmento en el archivo .htacess:

<files ~ "^.*\.([Hh][Tt][Aa])">

order allow,deny

deny from all

satisfy all

</files>

Restringir el acceso al panel de administración de WordPress

Si alguien consigue acceder a tu panel de administración de WordPress, puede hacer lo que quiera e incluso cerrar todo tu sitio web.

Para evitarlo, debes restringir el acceso al panel de administración de WordPress sólo a IP(s) específicas.

  • Crea otro archivo .htaccess y pega en él el siguiente fragmento.
# Limit logins and admin by IP

<Limit GET POST PUT>

order deny,allow

deny from all

allow from xx.xx.xx.xx

#whitelist Farhan’s IP Address

</Limit>
  • Súbelo a la carpeta “www.yourwebsite.com/wp-admin/”.

Ahora, si un usuario intenta acceder a tu sitio con una dirección IP no aprobada, verá el siguiente error:

error interno del servidor

Nota: No olvides sustituir “xx.xx.xx.xx” por tu dirección IP permitida dirección IP.

Puedes obtener fácilmente tu IP visitando “Cuál es mi IP”. Si tienes más de un moderador, también puedes añadir varias IP utilizando la siguiente variación:

permitir desde 34.56.78 98.76.54.32 19.82.73.64

Bloquear agentes de usuario específicos

Esta regla bloquea el acceso a tu sitio a determinados agentes de usuario (por ejemplo, bots maliciosos, scrapers o crawlers).

RewriteCond %{HTTP_USER_AGENT} ^BadBot [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^AnotherBadBot [NC]

RewriteRule ^.* - [F,L]

Desactivar XML-RPC

XML-RPC es una función que permite conexiones remotas a tu sitio de WordPress. Sin embargo, a menudo es explotada por atacantes para:

  • Realiza intentos de inicio de sesión por fuerza bruta.
  • Ejecutar ataques DDoS (Denegación de Servicio Distribuido).
  • Explotar vulnerabilidades en plugins o temas.

Esta regla desactiva el acceso al archivo xmlrpc.php en WordPress.

<Files xmlrpc.php>

Order Deny,Allow

Deny from all

</Files>

Proteger archivos importantes

Puedes utilizar .htaccess en WordPress para proteger archivos importantes como functions.php, wp-config.php y php.ini, utilizando el siguiente fragmento:

<FilesMatch "wp-config\.php|php.ini|functions\.php">

Order deny,allow

Deny from all

</FilesMatch>

Proteger el archivo wp-config.php

En WordPress, wp-config.php es el archivo donde se guardan el alojamiento, la base de datos y otras credenciales importantes. Por lo tanto, debes proteger el archivo de todo acceso no autorizado.

Copia y pega las siguientes líneas en el archivo .htaccess:

<files wp-config.php>

order allow,deny

deny from all

</files>

Proteger la carpeta wp-content

La carpeta wp-content contiene todos los temas, plugins, archivos multimedia y de caché importantes, lo que la convierte en el principal objetivo de hackers y spammers.

Para proteger esta carpeta de accesos no autorizados, crea un archivo .htaccess independiente en la carpeta wp-content. A continuación, copia y pega el siguiente fragmento en el archivo:

Order deny,allow

Deny from all

<Files ~ ".(xml|css|jpe?g|png|gif|js)$">

Allow from all

</Files>

Con la regla anterior, los usuarios sólo podrían subir archivos con las extensiones permitidas (XML, CSS, JPG, JPEG, PNG, GIF y JavaScript), denegando todos los demás tipos de archivo.

Proteger archivos de sólo inclusión

Algunas áreas de la instalación de WordPress nunca deberían ser accesibles para el usuario medio. La mejor práctica es bloquear todo acceso a estos archivos, y puedes configurar las restricciones de acceso añadiendo el fragmento al archivo .htaccess.

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^wp-admin/includes/ - [F,L]

RewriteRule !^wp-includes/ - [S=3]

RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]

RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]

RewriteRule ^wp-includes/theme-compat/ - [F,L]

</IfModule>

Desactivar la ejecución de PHP

Restringir la ejecución de código PHP en todos los directorios de tu sitio o en algunos seleccionados es una práctica de seguridad crítica para los sitios web de WordPress. Crea un archivo .htaccess dentro de una carpeta en la que no quieras ejecutar scripts PHP y añade el siguiente fragmento.

<Files *.php>

deny from all

</Files>

Algunas carpetas de WordPress, como wp-includes y /wp-content/uploads/ tienen permisos de escritura por defecto. Este tipo de permiso permite a los usuarios subir archivos multimedia o de distintos tipos. Siempre es recomendable desactivar la ejecución de PHP en estos directorios.

Restricción de acceso a archivos

Restringir el acceso a wp-admin es un requisito importante, sobre todo cuando varios miembros del equipo participan en la gestión y actualización del sitio web.

En términos prácticos, esto significa que los usuarios no pueden acceder a archivos sensibles como plugins, temas y carpetas de activos.

.htaccess es una gran manera de proteger el acceso directo para editar archivos PHP de plugins de WordPress y temas, dificultando a los hackers la inyección de código malicioso. Para ello, sólo tienes que añadir las siguientes líneas al archivo:

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/

RewriteRule wp-content/plugins/(.*\.php)$ - [R=404,L]

RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php

RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/

RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L]

Protección contra la inyección de scripts

La inyección de scripts es una técnica notoria en la que el atacante “inyecta” un fragmento de código malicioso en el código del sitio web para extraer datos o tomar el control del sitio web.

Añadir el siguiente fragmento en el archivo .htaccess de WordPress puede proteger tu sitio de este tipo de ataques.

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})

RewriteRule ^(.*)$ index.php [F,L]

Bloquear dirección IP

Si alguien está abusando de tu sitio web, enviando spam continuamente o lanzando intentos de pirateo, su IP es visible en el panel de administración de WordPress. Puedes bloquear la IP mediante el archivo .htaccess y restringir su acceso a tu sitio web.

Sólo tienes que copiar y pegar el siguiente fragmento en el archivo .htaccess de tu sitio para bloquear las IP. Recuerda sustituir la IP de ejemplo por la IP del spammer.

<Limit GET POST>

order allow,deny

deny from 456.78.9

allow from all

</Limit>

Una vez colocado el fragmento, el spammer verá el siguiente mensaje de error en tu sitio:

Error prohibido

Denegar el acceso a determinados archivos

A veces, quieres restringir el acceso a determinados archivos. Y puedes hacerlo utilizando la siguiente regla .htaccess.

<files your-file-name.txt>

order allow,deny

deny from all

</files>

Desactivar la exploración de directorios

El acceso no autorizado a los archivos y carpetas del sitio web es un riesgo de seguridad importante que puede hacer caer todo el sitio.

Puedes controlar el acceso a los directorios del sitio web añadiendo el siguiente fragmento a tu archivo .htaccess de WordPress:

# disable directory browsing

Options -Indexes

Reglas .htaccess de WordPress para mejorar el rendimiento

Puedes utilizar el archivo .htaccess en WordPress para mejorar el rendimiento de tu sitio web. Sólo tienes que copiar y pegar los fragmentos relevantes en el archivo .htaccess.

Activar la caché del navegador

La caché del navegador es el almacenamiento temporal en tu sistema de los archivos descargados por tu navegador web para renderizar correctamente las páginas web. Estos archivos pueden incluir HTML, CSS, JavaScript, imágenes y otros contenidos multimedia.

Puedes establecer reglas sobre cuánto tiempo deben almacenarse en caché archivos específicos, y esos límites se establecen en función del uso popular. Añade el siguiente fragmento en el archivo .htaccess de WordPress para activar el almacenamiento en caché del navegador.

<IfModule mod_expires.c>

ExpiresActive on

ExpiresDefault "access plus 1 month"




# CSS

ExpiresByType text/css "access plus 1 year"




# Data interchange

ExpiresByType application/json "access plus 0 seconds"

ExpiresByType application/xml "access plus 0 seconds"

ExpiresByType text/xml "access plus 0 seconds"




# Favicon (cannot be renamed!)

ExpiresByType image/x-icon "access plus 1 week"




# HTML components (HTCs)

ExpiresByType text/x-component "access plus 1 month"




# HTML

ExpiresByType text/html "access plus 0 seconds"




# JavaScript

ExpiresByType application/javascript "access plus 1 year"




# Manifest files

ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"

ExpiresByType text/cache-manifest "access plus 0 seconds"




# Media

ExpiresByType audio/ogg "access plus 1 month"

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType video/mp4 "access plus 1 month"

ExpiresByType video/ogg "access plus 1 month"

ExpiresByType video/webm "access plus 1 month"




# Web feeds

ExpiresByType application/atom+xml "access plus 1 hour"

ExpiresByType application/rss+xml "access plus 1 hour"




# Web fonts

ExpiresByType application/font-woff2 "access plus 1 month"

ExpiresByType application/font-woff "access plus 1 month"

ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

ExpiresByType application/x-font-ttf "access plus 1 month"

ExpiresByType font/opentype "access plus 1 month"

ExpiresByType image/svg+xml "access plus 1 month"




</IfModule>

Sigue leyendo: Aprende cómo aprovechar el caché del navegador en WordPress para optimizar el tiempo de carga de la página

Limitar el tamaño de subida de archivos

Esta regla restringe el tamaño máximo de archivo que los usuarios pueden subir a tu sitio.

php_value upload_max_filesize 10M

php_value post_max_size 10M

He cubierto una guía sobre cómo aumentar el límite máximo de subida en WordPress que puede resultarte útil.

Activar la compresión Gzip

Gzip es un potente algoritmo de compresión que localiza cadenas similares dentro de un archivo de texto y las sustituye temporalmente para reducir el tamaño total del archivo.

Funciona de forma similar a la compresión Brotli. Puedes consultar nuestra Guía de compresión Brotli vs. Gzip para entenderlo mejor. En cualquier caso, Gzip se utiliza para optimización de la velocidad de carga de carga.

La compresión gzip se utiliza a menudo a nivel de servidor, y muchos proveedores de alojamiento como Cloudways la tienen activada por defecto. Sin embargo, si no funciona, añade el siguiente fragmento al archivo .htaccess de WordPress o ponte en contacto con tu proveedor de alojamiento web:

<IfModule mod_deflate.c>




# Compress HTML, CSS, JavaScript, Text, XML and fonts

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject

AddOutputFilterByType DEFLATE application/x-font

AddOutputFilterByType DEFLATE application/x-font-opentype

AddOutputFilterByType DEFLATE application/x-font-otf

AddOutputFilterByType DEFLATE application/x-font-truetype

AddOutputFilterByType DEFLATE application/x-font-ttf

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE font/opentype

AddOutputFilterByType DEFLATE font/otf

AddOutputFilterByType DEFLATE font/ttf

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml




# Remove browser bugs (only needed for really old browsers)

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Header append Vary User-Agent




</IfModule>

Controlar/Restringir el Hotlinking de Imágenes

El hotlinking de imágenes puede afectar significativamente al uso del ancho de banda, porque cada vez que un recurso externo solicita una imagen, se utiliza el ancho de banda de tu servidor para entregarla.

Para reducir el consumo de ancho de banda debido al hotlinking de imágenes, puedes añadir el siguiente fragmento de código al archivo .htaccess:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

¿Pagar de más por configuraciones manuales?

Nuestra calculadora te muestra cómo ahorrar:
✓ Más de 100 $/mes frente a contratar a un administrador de servidores
✓ Horas semanales en ajustes de .htaccess

.htaccess para WordPress Multisitio (WPMU)

El archivo .htaccess predeterminado para WordPress Multisitio es ligeramente diferente del archivo .htaccess estándar de WordPress.

.htaccess por defecto para subcarpetas WPMU

If your WordPress Multisite network is subfolders-based, the default .htaccess file should look like this:

# BEGIN WordPress Multisite

# Using subfolder network type: https://wordpress.org/support/article/htaccess/#multisite




RewriteEngine On

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteBase /

RewriteRule ^index\.php$ - [L]




# add a trailing slash to /wp-admin

RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]




RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^ - [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

RewriteRule . index.php [L]




# END WordPress Multisite

.htaccess por defecto para subdominios WPMU

Si tu red WordPress Multisite está basada en subdominios, el archivo .htaccess por defecto debería tener este aspecto:

# BEGIN WordPress Multisite

# Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite




RewriteEngine On

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteBase /

RewriteRule ^index\.php$ - [L]




# add a trailing slash to /wp-admin

RewriteRule ^wp-admin$ wp-admin/ [R=301,L]




RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^ - [L]

RewriteRule ^(wp-(content|admin|includes).*) $1 [L]

RewriteRule ^(.*\.php)$ $1 [L]

RewriteRule . index.php [L]




# END WordPress Multisite

Solución de problemas comunes del .htaccess de WordPress

1. Errores de sintaxis en .htaccess

Un solo error de sintaxis, como la falta de un corchete, una directiva incorrecta o un carácter mal colocado, puede impedir que tu sitio funcione.

Solución: Utiliza un validador de .htaccess como htaccess-comprobar para identificar los errores. Corrige los errores resaltados y sube el archivo corregido.

2. mod_rewrite No Activado

Si tus redirecciones de URL no funcionan, a menudo se debe a que el módulo mod_rewrite de Apache no está activado.

Solución: Ejecuta sudo a2enmod rewrite en tu terminal y luego reinicia Apache con sudo systemctl restart apache2.

3. Nombre o colocación incorrecta de los archivos

Si tus reglas .htaccess no se están aplicando, puede que el archivo tenga un nombre incorrecto o esté mal colocado.

Solución: Asegúrate de que el archivo se llama .htaccess (con un punto inicial, sin extensión) y se coloca en el directorio raíz de tu instalación de WordPress.

4. Errores no identificados que causan problemas en el sitio web

Tu sitio puede mostrar errores o no cargarse sin una razón clara.

Solución: Comprueba los registros de errores de Apache en /var/log/apache2/error.log para localizar la causa y hacer las correcciones necesarias.

5. Sitio que no responde debido a .htaccess

Una configuración incorrecta del .htaccess puede hacer que todo tu sitio sea inaccesible.

Solución: Cambia temporalmente el nombre del archivo .htaccess (por ejemplo, .htaccess_backup). Si el sitio funciona, revierte y edita el archivo línea por línea para encontrar la directiva problemática.

Reflexiones finales

El archivo .htaccess de WordPress es esencial para gestionar las redirecciones, proteger archivos críticos como wp-config.php y optimizar el rendimiento del sitio mediante el almacenamiento en caché del navegador y la compresión Gzip. En esta guía, hemos explorado cómo localizar, crear y editar el archivo .htaccess utilizando cPanel y plugins, implementar varias reglas de redirección y aplicar medidas de seguridad para proteger tu sitio de WordPress.

También hemos tratado las reglas y ajustes para mejorar el rendimiento de las instalaciones de WordPress Multisite. Si hay algún caso de uso importante del .htaccess que se me haya pasado por alto, compártelo en los comentarios y actualizaré la guía en consecuencia.

Preguntas frecuentes

Q. ¿Qué es el archivo .htaccess en WordPress?

El archivo .htaccess de WordPress es un archivo de configuración utilizado por los servidores web Apache para controlar varios ajustes por directorio. WordPress utiliza este archivo para gestionar cómo se gestionan las URL, especialmente para habilitar enlaces permanentes bonitos, que hacen que tus URL sean más limpias y respetuosas con el SEO. También puede utilizarse para mejorar la seguridad, redirigir el tráfico y optimizar el rendimiento del servidor.

Q. ¿Cómo edito el archivo .htaccess en WordPress?

Para editar el archivo .htaccess en WordPress, accede a los archivos de tu sitio a través de un cliente FTP o del gestor de archivos de tu proveedor de alojamiento. Localiza el archivo .htaccess en el directorio raíz de tu instalación de WordPress. Abre el archivo con un editor de texto, realiza los cambios y guárdalo. Una vez actualizado, sube el archivo de nuevo al servidor y prueba tu sitio para asegurarte de que los cambios surten efecto.

Q. ¿Crea WordPress un archivo .htaccess?

Sí, WordPress crea automáticamente un archivo .htaccess, normalmente en el directorio raíz. Si no lo encuentras, ve a tu panel de control de WordPress, navega hasta Configuración > Permalinks, y haz clic en “Guardar cambios”. Esto regenerará el archivo .htaccess con las reglas predeterminadas correctas.

Q. ¿Es necesario .htaccess para WordPress?

Sí, el archivo .htaccess es necesario para que WordPress funcione correctamente, especialmente para manejar enlaces permanentes bonitos (estructuras de URL personalizadas) y habilitar funciones como las redirecciones y la configuración de seguridad. Aunque WordPress puede funcionar sin él, muchas funciones esenciales dependen del archivo .htaccess para su optimización y seguridad.

Q. ¿Cuál es el archivo .htaccess predeterminado de WordPress?

El archivo .htaccess por defecto de WordPress se crea automáticamente en el directorio raíz de tu sitio web. Si utilizas Apache como servidor web, lo encontrarás en la carpeta raíz (normalmente public_html o www). Por defecto, el archivo incluye ajustes básicos para enlaces permanentes bonitos, asegurando que tus URLs sean limpias y fáciles de usar. Es un archivo importante para el correcto funcionamiento de WordPress y puede editarse para mejorar el rendimiento y la seguridad del sitio.

Q. ¿Para qué sirve el archivo .htaccess en WordPress?

El archivo .htaccess de WordPress es un potente archivo de configuración que controla la forma en que tu servidor gestiona tu sitio web. Ayuda a gestionar cosas como configurar redireccionamientos 301, habilitar conexiones SSL para una navegación segura, añadir protección por contraseña y definir el idioma predeterminado de tu sitio. En resumen, desempeña un papel clave en la mejora del rendimiento, la seguridad y la experiencia del usuario de tu sitio.

Q. ¿Qué directivas o reglas comunes se utilizan en el archivo .htaccess de WordPress?

Entre las directivas más comunes del archivo .htaccess de WordPress se incluyen la configuración de estructuras de enlaces permanentes limpias, la gestión de redireccionamientos, la activación de la protección por contraseña, la prevención de la navegación por directorios, la personalización de las páginas de error, el bloqueo de direcciones IP específicas y la activación de la compresión GZIP para una carga más rápida del sitio. Estas reglas ayudan a optimizar la seguridad, la experiencia del usuario y el rendimiento de tu sitio web.

Q. ¿Hay ajustes o configuraciones relacionados con la seguridad en el archivo .htaccess de WordPress?

Sí, el archivo .htaccess de WordPress puede aumentar la seguridad de tu sitio con varias configuraciones. Por ejemplo, puede bloquear la navegación por directorios para evitar el acceso no autorizado a archivos, restringir el acceso a archivos sensibles como wp-config.php y limitar el acceso al área de administración a direcciones IP específicas. Estos sencillos pasos pueden reducir significativamente el riesgo de ataques a tu sitio web.

Q. ¿Cuáles son algunas de las mejores prácticas para optimizar el archivo .htaccess en WordPress?

Para optimizar tu archivo .htaccess en WordPress, activa la compresión para acelerar la carga de las páginas, configura la caché del navegador para reducir los tiempos de carga e implementa redireccionamientos 301 para mejorar el SEO. También es importante proteger el propio archivo restringiendo el acceso, impedir la navegación por directorios y aumentar los límites de memoria PHP para evitar problemas de rendimiento. Estos pasos garantizan que tu sitio funcione sin problemas, de forma segura y eficiente.

Q. ¿Puedo utilizar el archivo .htaccess para activar o desactivar determinadas características o funcionalidades de WordPress?

¡Por supuesto! El archivo .htaccess es esencial para gestionar el rendimiento y la seguridad del sitio en WordPress. Puede habilitar funciones como redireccionamientos personalizados, almacenamiento en caché del navegador y compresión GZIP. También puede desactivar funciones no deseadas, como la navegación por directorios, y controlar el acceso al área de administración para mejorar la seguridad. Es una herramienta versátil para mejorar la funcionalidad de tu sitio web.

Q. ¿Cómo puedo solucionar los problemas con el archivo .htaccess que afectan a mi sitio de WordPress?

Si tu sitio tiene problemas relacionados con el archivo .htaccess, empieza por hacer una copia de seguridad del archivo. Si los problemas persisten, prueba a renombrarlo o eliminarlo y, a continuación, vuelve a generar un .htaccess nuevo desde el panel de control de WordPress. Asegúrate de que todas las reglas son correctas y comprueba si hay plugins conflictivos. También puedes comprobar los permisos para asegurarte de que el archivo se puede leer y escribir. Si sigues atascado, consultar a tu proveedor de alojamiento o a un profesional puede ayudarte. Además, echa un vistazo a los competidores de Ionos.

Q. ¿Existe alguna herramienta o plugin que ayude a gestionar y modificar el archivo .htaccess en WordPress?

Sí, existen varios plugins diseñados para facilitar la gestión de tu archivo .htaccess. Plugins como All In One WP Security & Firewall, WP Htaccess Editor, BulletProof Security y Htaccess de BestWebSoft te permiten modificar, hacer copias de seguridad y proteger tu archivo .htaccess sin necesidad de acceder directamente a tu servidor.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Abdul Rehman

Abdul es un experto en tecnología, aficionado al café y al marketing creativo al que le encanta estar al día de las últimas actualizaciones de software y aparatos tecnológicos. También es un hábil escritor técnico capaz de explicar conceptos complejos de forma sencilla para un público amplio. Abdul disfruta compartiendo sus conocimientos sobre el sector de la Nube a través de manuales de usuario, documentación y entradas de blog.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

¿Quieres experimentar la plataforma de Cloudways en todo su esplendor?

Realice una visita guiada GRATUITA de Cloudways y compruebe usted mismo lo fácil que es administrar su servidor y sus aplicaciones en la plataforma de alojamiento en la nube líder.

Iniciar mi recorrido