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.