Un .htaccess ( hipertexto acceso de archivos) es un directorio de -level archivo de configuración con el apoyo de varios servidores web , que se utiliza para la configuración del sitio web cuestiones -acceso, como la redirección de URL , el acortamiento de URL , control de acceso (por diferentes páginas web y archivos), y más. El 'punto' ( punto o punto ) antes del nombre del archivo lo convierte en un archivo oculto en entornos basados en Unix .
Un sitio puede tener más de un .htaccessarchivo, y los archivos se colocan dentro del árbol web (es decir, dentro de los directorios y sus subdirectorios) y, por lo tanto, su otro nombre es archivos de configuración distribuidos . [1]
.htaccesslos archivos actúan como un subconjunto del archivo de configuración global del servidor (como httpd.conf) para el directorio en el que se encuentran, o todos los subdirectorios. [2]
El propósito original de .htaccess—reflejado en su nombre— era permitir el control de acceso por directorio, por ejemplo, requiriendo una contraseña para acceder al contenido de la World Wide Web . Sin embargo, más comúnmente, los .htaccessarchivos definen o anulan muchas otras opciones de configuración, como el tipo de contenido, el juego de caracteres , los controladores de la interfaz de puerta de enlace común , etc.
Formato e idioma
.htaccessLos archivos están escritos en la variante de las Directivas Apache del lenguaje Perl Compatible Regular Expressions (PCRE). Aprender PCRE básico en sí mismo puede ayudar a dominar el trabajo con estos archivos.
Por razones históricas, el formato de los .htaccessarchivos es un subconjunto limitado del archivo de configuración global del servidor HTTP Apache httpd.conf[3], incluso cuando se utiliza con servidores web como Oracle iPlanet Web Server [4] y Zeus Web Server, que tienen muy diferentes configuraciones globales nativas. Archivos de configuración.
Uso común
- Autorización , autenticación
- Un archivo .htaccess se usa a menudo para especificar restricciones de seguridad para un directorio, de ahí el nombre de archivo " access". El .htaccessarchivo suele ir acompañado de un .htpasswdarchivo que almacena nombres de usuario válidos y sus contraseñas . [5]
- Reescritura de URL
- Los servidores suelen utilizar .htaccesspara reescribir URL largas y demasiado completas en URL más cortas y memorables.
- Bloqueo (control de acceso)
- Utilice permitir / denegar para bloquear usuarios por dirección IP o dominio. También se usa para bloquear bots, rippers y referentes malos. A menudo se utiliza para restringir el acceso de los rastreadores web .
- SSI
- Habilite las inclusiones del lado del servidor .
- Lista de directorios
- Controle cómo reaccionará el servidor cuando no se especifique una página web específica.
- Respuestas de error personalizadas
- Cambiar la página que se muestra cuando se produce un error del lado del servidor, por ejemplo HTTP 404 No encontrado o, para indicar a un motor de búsqueda que una página se ha movido, HTTP 301 Movido permanentemente . [6]
- Tipos MIME
- Indique al servidor cómo tratar diferentes tipos de archivos.
- Control de caché
- .htaccessLos archivos permiten que un servidor controle el almacenamiento en caché mediante navegadores web y proxies para acelerar los sitios web, [7] reducir el uso de ancho de banda , la carga del servidor y el retraso percibido . .htaccesstambién agrega la edad de la caché a los recursos de la página web para que al volver a visitar la página, los elementos se recarguen desde la caché del navegador hasta que expire la edad mencionada, en lugar de solicitar el recurso nuevamente desde el servidor.
- HTTPS y HSTS
- La implementación de HTTPS y HSTS en servidores Apache depende en gran medida de la reescritura correcta de URL y la información del encabezado mencionada en el .htaccessarchivo. Cualquier sintaxis incorrecta en el archivo durante la implementación de HTTPS o HSTS conduce a una falla en la implementación.
Ventajas
- Cambios inmediatos
- Debido a que los .htaccessarchivos se leen en cada solicitud, los cambios realizados en estos archivos tienen efecto inmediato, a diferencia del archivo de configuración principal que requiere que se reinicie el servidor para que la nueva configuración surta efecto.
- Usuarios sin privilegios
- Para servidores con múltiples usuarios, como en el alojamiento web compartido , a menudo es deseable permitir a los usuarios individuales la capacidad de alterar la configuración de su sitio. El uso de .htaccessarchivos permite dicha individualización, y por parte de usuarios sin privilegios, porque los archivos de configuración del servidor principal no necesitan cambiarse. [8]
La principal ventaja de usar el archivo htaccess es que está disponible para su uso en todo tipo de alojamiento web y es fácil de manipular la apariencia de la URL y otras configuraciones del servidor usando este único archivo.
- [9]
Desventajas
A menudo se prefiere controlar Apache mediante el archivo de configuración del servidor principal httpd.conf[10] por motivos de seguridad y rendimiento: [11]
- Pérdida de rendimiento
- Para cada solicitud HTTP , hay accesos adicionales al sistema de archivos para los directorios principales cuando se usa .htaccess, para verificar si hay .htaccessarchivos posiblemente existentes en esos directorios principales que pueden contener .htaccessarchivos. Es posible migrar directivas programáticamente de .htaccessa httpd.confsi esta pérdida de rendimiento es una preocupación. [12]
- Seguridad
- Permitir que usuarios individuales modifiquen la configuración de un servidor puede causar problemas de seguridad si no se configura correctamente. [13]
- Sintaxis
- .htaccesssuele ser muy sensible a los errores de sintaxis. Debido a esto, cualquier error ortográfico puede provocar errores 501 del servidor y recursos web en el directorio .htaccesssin que se muestre el error .
En la cultura popular
Partes del videojuego de 2020 Mackerelmedia Fish , que explora temas de la cultura de Internet, se han implementado directamente en los .htaccessdirectorios abiertos de un sitio web . [14]
Ver también
- URL semántica
- Motor de reescritura
Referencias
- ^ Tutorial del servidor HTTP Apache: archivos .htaccess - Guía en Apache.org.
- ^ "Directiva AllowOverride" . Consultado el 2 de marzo de 2009 .
- ^ "Archivos de configuración" . Consultado el 2 de marzo de 2009 .
- ^ "Uso del archivo .htaccess" , Oracle.com
- ^ "Tutorial de Apache: formatos de contraseña" . Consultado el 2 de marzo de 2009 .
- ^ "Ayuda de Herramientas para webmasters de Google: redireccionamientos 301" . Consultado el 27 de marzo de 2012 .
- ^ "Cómo crear y editar archivos htaccess de WordPress para acelerar su sitio web" . WP Enlight . 2017-07-29. Archivado desde el original el 12 de septiembre de 2017 . Consultado el 12 de septiembre de 2017 .
- ^ "Tutorial de Apache: Cuándo (no) usar archivos .htaccess" . Consultado el 12 de enero de 2008 .
- ^ Amit (15 de abril de 2021). "Aprenda los conceptos básicos de mod-rewrite | htaccess tutorial para principiantes | AmitOverflow" . Ayuda en la red . Consultado el 11 de junio de 2021 .
- ^ "Archivos de configuración - Servidor HTTP Apache" . Consultado el 12 de enero de 2008 .
- ^ "Cuándo no utilizar archivos .htaccess" . Httpd.apache.org . Consultado el 2 de septiembre de 2009 .
- ^ "Cómo convertir .htaccess a entradas httpd.conf" .
- ^ "Protección de la configuración del sistema" . Consultado el 2 de marzo de 2009 .
- ^ Morton, Lauren (30 de marzo de 2020). "Mira este ARG loco sobre la exploración de sitios web abandonados" . Piedra, papel, escopeta . Consultado el 20 de agosto de 2020 .
enlaces externos
- Tutorial de Apache Docs: archivos .htaccess