Introducción

El archivo de acceso de hipertexto (comúnmente conocido como .htaccess file) es un archivo de configuración confiable que proporciona una manera fácil de configurar los detalles de su sitio web sin tener que cambiar los archivos de configuración de su servidor. El archivo sobrescribe muchas opciones de configuración, lo que lo convierte en una herramienta ideal para el control de caché, la autorización, la reescritura de URL y la optimización de sitios web.

El archivo es único porque comienza con un punto. El punto significa que el archivo .htaccess está oculto en algunos programas FTP y no es posible editar el archivo sin cambiarle el nombre. Este archivo se puede crear en cualquier editor de texto y luego cargarse en un sitio web mediante un cliente FTP.

Consideraciones

Este archivo es increíblemente útil y puede mejorar enormemente el rendimiento de su sitio web. Sin embargo, hay algunas cosas a considerar antes de usar el archivo .htaccess. Esto incluye:

Afecta la velocidad del servidor

El archivo .htaccess puede provocar un cambio imperceptible en la velocidad del servidor. Por lo tanto, no debe utilizar el archivo .htaccess, especialmente si tiene acceso al archivo de configuración del servidor principal; httpd.conf.

Si usas eso AllowOveride Instrucción para permitir el archivo .htaccess, el servidor web Apache busca este archivo con cada solicitud. Además, el servidor web (Apache) busca en todo el árbol de directorios para localizar otros archivos .htaccess encima de la ubicación de este archivo para determinar qué directiva tiene prioridad. Esto ralentiza el servidor HTTP Apache.

Temas de seguridad

Si permite que los usuarios cambien el archivo de configuración del servidor con .htaccess, esto puede generar problemas de seguridad, especialmente si se maneja accidentalmente.

Con eso en mente, centrémonos ahora en los conceptos básicos del archivo .htaccess:

Crea un archivo .htaccess

Como se mencionó anteriormente, el archivo .htaccess se puede crear con cualquier editor de texto y luego cargarlo en su sitio web usando un cliente FTP. Alternativamente, ejecute el siguiente comando para crear este archivo en Terminal:

$ sudo nano /var/www/example.com/.htaccess

Activar el archivo .htaccess

Una vez que se ha creado el archivo .htaccess, no se activa automáticamente. Debe modificar el archivo de configuración del host de Apache para activar el archivo .htaccess recién creado. Aquí necesita acceder a la configuración de su servidor para cambiar la configuración y permitir que el archivo .htaccess anule la configuración del sitio web estándar.

Primero, ejecute el siguiente comando para abrir el archivo de configuración del host Apache2:

Nota: Necesita permisos sudo para lograr esto

$ sudo nano /etc/apache2/sites-available/default

Después de abrir el archivo de configuración, busque la siguiente sección:

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
 </Directory>

Cambiar el valor de AllowOverride de ninguno a todas.

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverrideAll
                Order allow,deny
                allow from all
 </Directory>

Guarde el archivo y salga de su editor de texto. Ahora ejecute el siguiente comando para reiniciar sus servicios de Apache:

$ sudo service apache2 restart

Utilice el archivo .htaccess

El archivo .htaccess tiene varios usos que incluyen:

Redireccionamientos

Uno de los usos principales del archivo .htaccess es habilitar las redirecciones web. Los redireccionamientos facilitan la dirección del tráfico web de un documento a otro dentro de su sitio web. Por ejemplo, si ha movido la página de un sitio web y desea que sus visitantes usen el enlace anterior para acceder al contenido en la nueva ubicación, el .htaccess puede ser de gran ayuda.

Para configurar redireccionamientos usando el archivo .htaccess, agregue la siguiente línea a este archivo.

Redirect /old_dir/ http://www.hostadvice.com/new_dir/index.html

Este comando anterior le dice al servidor web Apache que coloque un documento en ‘new_dir‘cada vez que un visitante solicita un documento en el directorio antiguo; ‘old_dir‘.

Página de error personalizada

Además, el archivo .htaccess se puede utilizar para mostrar páginas de error como 400 Petición Incorrecta, 401 Autorización requerida, 404 archivo no encontrado, 403 lado prohibido, y 500 Error interno. La personalización de sus páginas de error proporciona una experiencia perfecta para todos los visitantes y proporciona información más detallada que los detalles de la página de error estándar.

Es fácil personalizar las páginas de error porque son documentos HTML, lo que significa que puede agregar y ver los detalles que desee. Por ejemplo, para crear una página de error 401, 404 y 500, agregue el siguiente texto a su archivo .htaccess:

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

Siéntase libre de personalizar estas páginas con contenido que entregará el mensaje que desean a los visitantes de su sitio web.

El servidor web Apache busca páginas de error en el directorio raíz de su sitio web. Si guarda una nueva página de error (por ejemplo, página de error 404) en un subdirectorio más abajo en el árbol del directorio, debe incluir una línea para capturar este detalle:

ErrorDocument 404 /error_pages/new404.html

protección de contraseña

Mejor aún, el archivo .htaccess tiene un increíble sistema de autenticación y protección con contraseña. Las contraseñas .Htaccess se almacenan en el archivo; .htpasswd. Cree este archivo y guárdelo en otro lugar que no sea el directorio web (por razones de seguridad).

Anote todos los nombres de usuario y contraseñas de todos los usuarios autorizados para obtener permiso para ver algunas de las áreas restringidas de su sitio web. Una vez que haya creado todas las contraseñas y nombres de usuario, pegue el siguiente código en su archivo .htaccess para habilitar la función de contraseña.

AuthUserFile /usr/local/username/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user

Incluye del lado del servidor (SSI)

SSI es una excelente manera de ahorrar tiempo en la configuración básica del sitio web. Por ejemplo, le permiten actualizar varias páginas de datos críticos al mismo tiempo.

Para habilitar las inclusiones del lado del servidor, pegue el siguiente código en el archivo .htaccess:

AddType text/html .shtml
AddHandler server-parsed .shtml

Esta primera línea le dice a .htaccess que los archivos .shtml son auténticos, mientras que la segunda línea le dice al servidor que analice los archivos con la extensión .shtml para cada comando de inclusión del lado del servidor.

Conclusión

El archivo .htaccess ofrece una flexibilidad sin precedentes en la forma de configurar sus sitios web. Este fue un resumen de las cosas que puede hacer con este archivo, puede explorar más opciones y aprender a usar .htaccess.