Cuando utilizas el archivo .htaccess, puedes controlar esencialmente varios aspectos del servidor web Apache, así como sus múltiples variantes. Esta guía sobre ¿qué es el archivo .htaccess? te mostrará cómo configurar páginas de error personalizadas, redireccionar, proteger directorios con contraseña y mucho más.
¿Qué es el Archivo .htaccess?
El archivo .htaccess se refiere al archivo de configuración que controla con precisión cómo un servidor web responde agudamente a numerosas solicitudes. Múltiples servidores web lo admiten generalmente, y esto incluye el muy popular servidor web Apache que es utilizado principalmente por casi todos los proveedores de alojamiento web comerciales.
En otras palabras, ¿qué es el archivo .htaccess? es un archivo de configuración que ocupa un directorio particular e indica a qué grupos de usuarios o usuarios se les puede permitir el acceso a los archivos contenidos dentro de ese directorio.
El archivo .htaccess generalmente funciona a nivel de directorio, lo que les permite prevalecer sobre las configuraciones de configuración global de las directivas .htaccess que están mucho más arriba en el árbol de directorios.
Si has instalado un CMS (Sistema de Gestión de Contenidos) como WordPress, Joomla o Drupal, lo más probable es que te hayas encontrado con ¿qué es el archivo .htaccess? Puede que no hayas tenido que editarlo, pero fue uno de los archivos que tuviste que subir a tu servidor web.
Por cierto, su nombre – por ejemplo, .htaccess – comienza con un punto y termina con ‘htaccess’. Si intentas editarlo, debes asegurarte de que siga así. Y debes asegurarte de que no termine con una extensión .html o .txt.
También debes tener en cuenta que algunos proveedores de alojamiento web no te permiten editar el archivo .htaccess. Pero en la mayoría de estos proveedores, puedes crear tu propio archivo .htaccess e incluso subirlo a directorios específicos o elegidos. Controlará esos directorios, así como los subdirectorios que se encuentren debajo.
Los archivos .htaccess están compuestos en el lenguaje de programación Apache. No tienes que tener un conocimiento profundo o un dominio completo del lenguaje porque puede ser increíblemente frustrante.
No solo es un lenguaje de programación muy desafiante de aprender, sino que también se debe a que no proporciona ningún error descriptivo en absoluto. Solo preparará una página que tendrá el mismo estilo que un error del servidor.
Un pequeño error en un .htaccess puede provocar una cantidad significativa de tiempo de inactividad, especialmente si no puedes resolverlo lo más rápido posible. Y por esta razón, tus hábiles dedos deben estar muy cerca de las teclas CTRL+Z y siempre mantener copias de seguridad si es necesario.
Algunas características del archivo .htaccess incluyen las siguientes:
- Capacidad para proteger carpetas con contraseñas
- Detener listados de directorios
- Permitir o prohibir usuarios mediante direcciones IP.
- Redirigir usuarios a otro directorio o página automáticamente
- Crear y usar páginas de error personalizadas
- Cambiar la forma en que se emplean los archivos con algunas extensiones.
- Usar un archivo diferente como archivo de índice especificando el archivo o la extensión de archivo específica.
¿Por Qué se Llama .htaccess?
El archivo .htaccess es más conocido como ‘acceso de hipertexto’. Este nombre se acuña del uso original de la herramienta, que es controlar el acceso de los usuarios a archivos específicos por directorio.
Utilizando un subconjunto de las directivas de configuración ‘http.conf’ de Apache, .htaccess permitió a un administrador del sistema limitar el acceso a directorios independientes a usuarios con nombres y contraseñas especificados en un archivo .htaccess adjunto.
Aunque los archivos .htaccess se utilizan de alguna manera para esto, también se utilizan para varias otras cosas.
¿Cómo se Utiliza .htaccess?
.htaccess se puede utilizar para lo siguiente:
- Habilitar la protección con contraseña para páginas o directorios de sitios web
- Redirigir a los visitantes de forma permanente o temporal de una página a otra.
- Evitar que otros desarrolladores web utilicen directamente tus imágenes para no pagar el ancho de banda, también conocido como hotlinking
- Impulsar el SEO a través de políticas consistentes de barra final
- Informar a los navegadores web de las personas sobre las fechas de caducidad de tus archivos web, para que no sigan descargándolos sin ninguna razón particular (control de caché)
- Evitar que algunas carpetas sean buscadas abiertamente por los visitantes.
- Usar un archivo diferente como archivo de índice especificando el archivo o la extensión de archivo específica.
- Detener listados de directorios
- Forzar a tu sitio web a usar HTTPS en lugar de HTTP
- Crear y mostrar páginas de error personalizadas como páginas 404, etc.
Cuando se trata de mejorar el SEO a través de una política consistente de barra final, tú, como webmaster, puedes elegir tener una barra final al final de cada URL en un sitio web o no.
Ten en cuenta que el archivo .htaccess es una forma fácil y rápida de modificar o alterar la configuración principal de Apache. Esto implica que el archivo de configuración principal decide qué se puede ajustar directamente desde el archivo .htaccess.
Existe una desventaja conocida al usar ¿qué es el archivo .htaccess?: ralentiza Apache y, por lo tanto, dificulta la experiencia de tus visitantes web. Esto se debe a que es un archivo que debe leerse en cada visita. Además, puede hacer que tu jerarquía de carpetas sea algo difícil de controlar y actualizar.
Lo siguiente también es crucial tener en cuenta:
- En general, debes reducir el número de archivos .htaccess en tu servidor web. Esto se debe a que tener demasiadas configuraciones en ese servidor puede ralentizarlo significativamente.
- Los archivos .htaccess que están un poco más arriba en la ruta del archivo siempre tienen precedencia.
- Cuando tu servidor web ve un ¿qué es el archivo .htaccess? dentro de un directorio, comienza a buscar archivos .htaccess en todos los directorios principales también. Y esto aumenta considerablemente el uso de recursos del servidor.
¿Dónde Puedes Encontrar el Archivo .htaccess?
Teóricamente, cada directorio de tu servidor podría tener un archivo .htaccess. Como regla general, sin embargo, habrá uno en tu carpeta raíz del sitio web, es decir, la carpeta que contiene todo el contenido de tu sitio, y que comúnmente se etiqueta con algo como ‘public_html’ o ‘www.’.
Si solo tienes una única carpeta o directorio que contiene varios subdirectorios del sitio web, generalmente habrá un archivo .htaccess ubicado en el directorio raíz principal, es decir, public_html, y también uno en cada subdirectorio, es decir, /nombredelsitio.
Pero No Puedo Encontrar mi Archivo .htaccess
Entonces, ¿qué pasa si no puedes encontrar tu ¿qué es el archivo .htaccess?, preguntas? Lo que quizás no sepas es que en la mayoría de los sistemas de archivos, los nombres de los archivos suelen comenzar con un punto. Y son archivos ocultos, lo que significa que generalmente no son visibles por defecto.
Sin embargo, no son tan difíciles de conseguir. Tu administrador de archivos o cliente FTP debería mostrar una configuración para ‘mostrar archivos ocultos’. Esto puede estar en diferentes lugares y otros programas. Sin embargo, deberían estar en ‘Configuración’, ‘Opciones de Carpeta’ o ‘Preferencias’. A veces, puedes encontrarlo en el menú ‘Ver’.
¿Qué Hago si No Tengo un Archivo .htaccess?
Lo primero que debes hacer es activar ‘mostrar archivos ocultos’ – o su equivalente. Esto es para asegurarte de que realmente no tienes uno. En la mayoría de los casos, los archivos .htaccess se crean automáticamente, por lo que generalmente tendrás uno. Pero esto no siempre es así.
Si descubres que no tienes uno, puedes crearlo fácilmente siguiendo los pasos que se detallan a continuación:
- Crea un editor de texto sin formato. Será un nuevo archivo.
- Guarda el editor de texto sin formato en formato ASCII – y NO UTF-8 ni ningún otro formato – como .htaccess.
- Asegúrate de que el editor de texto sin formato no se guarde como ‘.htaccess.txt’ o algo similar. El archivo debe tener un solo nombre, es decir, .htaccess, sin extensión de archivo adicional.
- Sube el archivo a su directorio apropiado a través de tu administrador de archivos basado en navegador o FTP.
Código de Error: ¿Qué es?
Uno de los usos principales del archivo .htaccess es redirigir a cualquier usuario a una página de error personalizada, aunque esto depende del error particular del servidor web que encuentren.
Al utilizar una página de error personalizada, puedes presentarles una lista de los artículos de mejor rendimiento de tu sitio web, así como un mapa del sitio con hipervínculos a otras áreas de tu sitio web. E incluso puede incluir el sistema de navegación de tu sitio web.
Puede incluir una página de preguntas frecuentes para que los visitantes que buscan información relevante o específica en tu sitio pero no la encuentran, puedan reducir la ubicación de esa información particular en tu sitio web sin hacer clic para salir, volver a Google o cualquier otro motor de búsqueda de su elección, y lo más probable es que nunca regresen a tu sitio web.
Cuando un usuario envía una solicitud a un servidor web, este último intenta responder rápidamente a esa solicitud. Esto ocurre entregando un documento – si se trata de páginas HTML – o accediendo a una aplicación y devolviendo la salida cuando se trata de CMS y otras aplicaciones web.
Si algo sale mal, genera un error. Diferentes tipos de errores aparecen con varios códigos de error. Probablemente estés familiarizado con el error 404, generalmente frustrante, que se produce si no se encuentra un documento en el servidor.
Hay varios otros códigos de error con los que cualquier servidor puede responder. Aquí están, sin ningún orden en particular:
Errores del Servidor
- 500: Error Interno del Servidor
- 501: No Implementado
- 502: Bad Gateway
- 503: Servicio No Disponible
- 504: Tiempo de Espera Agotado (Gateway Timeout)
- 505: Versión HTTP No Soportada
Errores de Solicitud del Cliente
- 400: Solicitud Incorrecta (Bad Request)
- 401: Autorización Requerida
- 402: Pago Requerido (aún no utilizado)
- 403: Prohibido
- 404: Archivo No Encontrado
- 405: Método No Permitido
- 406: No Aceptable (codificación)
- 407: Autenticación de Proxy Requerida
- 408: Solicitud Agotó el Tiempo de Espera (Request Timed Out)
- 409: Solicitud en Conflicto
- 410: Desaparecido (Gone)
- 411: Longitud de Contenido Requerida
- 412: Falló la Precondición
- 413: Entidad de Solicitud Demasiado Grande
- 414: URI de Solicitud Demasiado Larga
- 415: Tipo de Medio No Soportado
Cómo Editar tu Archivo .htaccess
Si es necesario editar tu archivo .htaccess, es posible que debas descargar el archivo existente utilizando tu cliente FTP o a través del sistema de archivos de tu host, por ejemplo, dentro de cPanel.
El archivo .htaccess de tu sitio ya puede incluir configuraciones de vital importancia. Si tu archivo .htaccess tiene configuraciones existentes, añade el nuevo código a lo que ya tienes allí.
Por favor, ten en cuenta: no elimines el archivo .htaccess existente a menos que esté vacío o estés 100% seguro de que está bien eliminarlo.
Gestión de Errores (por defecto)
Si no especificas o defines ningún tipo de manejo de errores, el servidor devolverá el mensaje al navegador. Y el navegador mostrará un mensaje de error genérico a ti, el usuario. Esto, por supuesto, generalmente no es ideal.
Especificación de Documentos de Error
Para especificar documentos de error, comienza creando un documento HTML para cada código de error que desees manejar. Nómbralos como quieras; sin embargo, nombrarlos con algo que puedas recordar fácilmente sería útil.
En el archivo .htaccess, especifica qué documento utilizar con cada tipo de error. Por ejemplo:
ErrorDocument 400 /errors/bad-request.html
ErrorDocument 401 /errors/auth-reqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/not-found.html
ErrorDocument 500 /errors/server-err.html
¿Notaste que cada directiva se coloca en su propia línea? Así es como debe ser.
Redirección de URL con el Archivo .htaccess
Si decides cambiar la organización de tu sitio web o nombres de dominio, puedes configurar fácilmente redirecciones de URL para asegurar que tus visitantes no se confundan. Y una de las formas más sencillas es a través de archivos .htaccess.
Para editar el archivo .htaccess, tendrás que recrear el archivo tú mismo y luego subirlo al servidor usando SFTP. Sigue los pasos que se describen a continuación:
Paso 1: Inicia sesión en tu servidor web a través de SFTP. Paso 2: Localiza y descarga tu archivo .htaccess. Generalmente lo encontrarás en tu carpeta de contenido. Si no tienes un archivo .htaccess, puedes crear fácilmente un archivo llamado ‘.htaccess’ en tu ordenador para guardar tus configuraciones. Paso 3: Abre el archivo usando tu editor de texto favorito. Paso 4: Agrega las siguientes líneas a tu archivo:
# enable basic rewriting
RewriteEngine on
Paso 5: Copia y pega las nuevas configuraciones en el archivo .htaccess y luego guarda el archivo. Paso 6: Sube esto de nuevo al directorio desde el que inicialmente tomaste tu archivo .htaccess. Paso 7: Prueba tu trabajo visitando tu sitio y luego viendo las páginas que deseas redirigir.
También puedes usar ¿qué es el archivo .htaccess? para redirigir páginas independientes en tu sitio usando redirecciones 301 e incluso 302. El archivo .htaccess es una de las herramientas más poderosas que puedes utilizar para el SEO on-site. Es muy esencial para cualquier webmaster –que sepa lo que hace– conocer este archivo y poder hacer lo necesario cuando sea crucial.