.htaccess - .htaccess

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 .

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

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 incluso cuando se utiliza con servidores web como Oracle iPlanet Web Server y Zeus Web Server, que tienen archivos de configuración global nativos muy diferentes.

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 .
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 ocurre un error del lado del servidor, por ejemplo HTTP 404 Not Found o, para indicar a un motor de búsqueda que una página se ha movido, HTTP 301 Moved Permanently .
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, 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.

Desventajas

A httpd.confmenudo, se prefiere controlar Apache mediante el archivo de configuración del servidor principal por motivos de seguridad y rendimiento:

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.
Seguridad
Permitir que usuarios individuales modifiquen la configuración de un servidor puede causar problemas de seguridad si no se configura correctamente.
Sintaxis
.htaccesssuele ser muy sensible a los errores de sintaxis. Debido a esto, cualquier error ortográfico puede dar lugar a errores del servidor y recursos web en el directorio .htaccesssin que se muestre el error en absoluto.

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 .

Ver también

Referencias

enlaces externos