archivo htaccess

¿Qué es un archivo htaccess?

Se trata de un archivo especial (que comienza con un punto) en el que se pueden añadir directivas específicas como :

  • Realización de redireccionamientos,
  • Añade entradas para la caché,
  • Crear reglas de reescritura de direcciones,
  • Cambie la configuración de PHP en su cuenta,
  • Realizar una autenticación (con el .htpasswd),
  • Modificar las propiedades de PHP (si PHP se ejecuta como un módulo de Apache),
  • Gestionar el acceso (restringir, bloquear totalmente..., para direcciones IP, forzar el uso de identificadores...) a un archivo y/o carpeta, a una URL,
  • Y muchas otras características que no mencionaremos en este artículo, que está dirigido al uso avanzado y no experto del archivo htaccess.

El archivo .htaccess sólo cambia el comportamiento del directorio (y subdirectorios) donde se encuentra, es posible poner un archivo en un subdirectorio que anule o establezca reglas diferentes a las del directorio padre.

Este archivo de configuración de Apache se utiliza para definir reglas para los directorios del sitio web. Por lo general, se utiliza para establecer :

  • derechos de acceso
  • redirecciones
  • mensajes de error personalizados

En este artículo presentamos algunas pautas para ayudar a nuestros suscriptores a entender el mecanismo de este archivo.

Tenga en cuenta que este enlace de ayuda no es una referencia para el uso experto de htaccess.

Llamar a una página de error personalizada

En primer lugar, debe añadir las siguientes líneas a un archivo .htaccess:

ErrorDocumento 404 /miarchivo404.html
ErrorDocumento 403 /miarchivo403.html
Documento de error 404 http://www.mondomaine.tld

Bloqueo del acceso a mi sitio web

En primer lugar, puede bloquear o permitir el acceso a su sitio web a determinadas direcciones IP y/o dominios.
Para ello, primero hay que crear un .htaccess en la carpeta raíz de su sitio web (/www/monsite/ por ejemplo) y añada las siguientes directivas:

Bloqueo por dirección IP

order allow,deny Denegar desde 88.55.44.22
Denegar desde 44.62.53.21

Bloqueo por dominio

Denegar desde sudominio.com
Denegar desde sondomaine.fr

Permitir IPs

orden permitir,denegar
Permitir desde 88.55.44.22
Permitir desde 44.62.53.21

Autorizar un dominio

orden permitir,denegar
Permitir desde mondomaine.com
Permitir desde sondomaine.net

Permitir y bloquear

orden permitir,denegar
Permitir desde 88.55.44.22
Permitir desde 44.62.53.21
Permitir desde mondomaine.com
Permitir desde tondomaine.net
Denegar desde 77.56.44.22
Denegar desde 55.26.53.25
Denegar desde sudominio.com
Denegar desde sondomaine.fr


 Si ya existe un archivo .htaccess en la carpeta de su sitio web, añada estas directivas al archivo existente.

Impedir la inclusión en el directorio

En primer lugar, añada la siguiente línea a un archivo .htaccess en el directorio en cuestión: Las líneas como esta deben añadirse a un archivo .htaccess:

Opciones -Índices

Prohibir un directorio a todo el mundo

Primero, introduzca esta línea en el archivo .htaccess del directorio en cuestión:

negar de todo

Crear una autenticación segura

Para configurar la autenticación segura para acceder a un directorio, siga primero los siguientes pasos:

  1. En primer lugar, genere un contraseña encriptada
  2. En segundo lugar, copie el par login/contraseña obtenido en un archivo llamado .htpasswd
  3. Por último, cree un archivo .htaccess en el directorio a proteger y escriba en él el siguiente contenido (adáptelo a sus necesidades):

    AuthName "Se requiere autenticación
    AuthType Básico
    AuthUserFile " /home/usersX/x/xxx/www/secret_directory/.htpasswd "
    Requerir usuario válido

Explicación:

  • AuthName Define el texto que se mostrará en la ventana de autenticación.
  • AuthUserFile contiene la ruta del archivo .htpasswd. Tenga en cuenta que debe introducir la ruta absoluta del archivo.

Redirigir http a https

En primer lugar, añada las siguientes líneas al principio del archivo .htaccess de su sitio para que el flujo http se redirija automáticamente a https :

<Si quieres saber más sobre el módulo mod_rewrite.c, haz clic aquí.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

o incluso

<Si quieres saber más sobre el módulo mod_rewrite.c, haz clic aquí.
RewriteEngine en
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Póngase en contacto con su webmaster antes de añadir esta redirección si utiliza un CMS (WordPress, Drupal, Joomla, otros). Así evitará que se creen bucles de redirección que pongan en peligro el buen funcionamiento de su sitio web.

Reescritura de URLs

La reescritura de URLs funciona en todos nuestros alojamientos.

RewriteEngine On

El siguiente código le permite reescribir la URL de su sitio ejecutando las condiciones de la sección RewriteCond para cualquier acceso desde el puerto HTTP 80, que es el puerto por defecto para este protocolo.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
¡RewriteCond %{REQUEST_URI} !
RewriteRule ^(.*)$ https://www.mondomaine.tld/$1 [R=301,L]

La línea siguiente le permite crear una redirección permanente SIN importar la referencia del sitio redirigido.

Redirección permanente / http://www.unsiteverslequel-redirigermondomaine.tld

La siguiente línea permite crear una redirección permanente CON la importación de la referencia del sitio redirigido.

Redirección 301 /página antigua/ http://www.monnouveausite.com/nouvellepage

Si ha sustituido su antiguo sitio por uno nuevo, y los dos sitios no tienen el mismo esqueleto de carpetas y archivos. El sitio antiguo está bien referenciado, y no se quiere perder esta referenciación. Esta línea le permitirá cambiar a la nueva URL sin perder la posición de su dominio en los motores de búsqueda.

Optimizar el rendimiento de mi sitio web

Siga este enlace de ayuda que explica cómo optimizar el rendimiento de un sitio web.
Actualizado el 28 de septiembre de 2022

Artículos relacionados