Los fundamentos de .htaccess: Cómo usar y ejemplos

Artículo escrito por:
  • Guías de alojamiento
  • Actualizado: sep 23, 2019

¿Qué es un archivo .htaccess?

El archivo .htaccess es un SlimCleaner (normalmente solo se llama Apache) archivo de configuración. El archivo es extremadamente poderoso y se puede usar para ayudar a controlar múltiples facetas de las páginas web que Apache publica. Esto incluye cosas como la gestión de redirecciones, protección de enlaces activos y más.

¿Dónde está el archivo .htaccess?

Debe haber un archivo .htaccess en su carpeta raíz del host web: la carpeta (generalmente / public_html o / www) que contiene el contenido de su sitio web.

Puede tener más de un archivo .htaccess en su cuenta de alojamiento, pero cada directorio o carpeta solo puede tener uno. Por ejemplo, puede tener archivos .htaccess separados en su carpeta raíz y otro en una subcarpeta. Esto le permite establecer diferentes comportamientos de servidor basados ​​en la estructura de directorios.

El archivo .htaccess es poderoso pero se puede acceder y modificar si no está protegido correctamente. Asegúrese de tomar medidas para evitar el acceso a este archivo.

No puedo encontrar mi archivo .htaccess

Primero que todo .htaccess es un archivo Apache, esto significa que solo puede encontrarlo en un servidor Apache. * Detenga la búsqueda si su host se ejecuta en un software de servidor web diferente (es decir, Microsoft IIS o NGINX).

Los nombres de archivos que comienzan con un punto suelen ser archivos ocultos. Esto significa que normalmente no son visibles de forma predeterminada.

Para ver este archivo, simplemente active "Mostrar archivos ocultos" en su cliente FTP o en el Administrador de archivos de hosting (vea la imagen a continuación).

Buscar archivo .htaccess: cómo mostrar archivos ocultos en el administrador de archivos de cPanel
Ejemplo: muestre sus archivos ocultos habilitando esta opción en cPanel File Manager.

Puede sentir que el archivo .htaccess es un inconveniente ya que requiere codificación, pero considere al usuario que necesita establecer el mismo comportamiento del servidor en varios sitios. Todo lo que esa persona deberá hacer es duplicar el archivo .htaccess.

Los archivos .htaccess son archivos de configuración del servidor y, dado que abordan el comportamiento directamente, no es necesario ejecutar algo cada vez que se realiza una solicitud. Por lo tanto, es mucho menos intensivo en recursos como el uso de un complemento, por ejemplo.

* Nota: Apache tiene sobre 30% tasa de absorción del mercado Basado en el informe W3Techs. Las marcas de hosting más populares mencionadas en WHSR - A2 Hosting, BlueHost, GreenGeeks, Hostinger, Alojamiento en Movimiento, Iart; son impulsados ​​por Apache.

¿Qué es .htaccess para?

Aunque hay un punto delante del nombre de archivo, htaccess es el nombre del archivo y el punto no lo convierte en una extensión. Específicamente, es este nombre de archivo exacto que Apache busca cuando se ejecuta. Cualquier cosa dentro del archivo .htaccess establece parámetros para que Apache habilite o deshabilite funciones o incluso ejecute tareas específicas cuando se cumplen ciertas condiciones.

Por ejemplo, según las instrucciones contenidas en el archivo, Apache puede cargar automáticamente páginas de error personalizadas si los visitantes de su sitio web buscan un recurso que no está allí. Cada tipo de error tiene su propio código y cada uno de estos puede ser redirigido individualmente.

Hay una lista enorme de lo que se puede hacer usando el archivo .htaccess y hoy compartiré algunos de estos con ustedes.

1. Gestión de páginas de error personalizadas

Leyenda: ejemplos de algunas páginas de error de 404 personalizadas creativamente

Cuando se deja en la configuración predeterminada, la mayoría del software del servidor web envía una página de error muy sombría a sus visitantes. Si desea mostrar una página de error más fácil de usar (o, al menos, presentable), deberá utilizar la gestión de documentos de error personalizada en su archivo .htaccess.

Digamos que has diseñado un página de error 404 personalizada llamado "404.html" y lo guardó en una subcarpeta en su directorio web llamado "error_pages". Usando la siguiente línea de código en .htaccess, puede abrir esa página cada vez que un visitante encuentre un error de 404;

ErrorDocument 404 /error_pages/404.html

Usando esta técnica, puede guardar copias personalizadas de cada tipo de error individual que desee contabilizar y configurarlas para que sean llamadas al incluir el código necesario en su archivo .htaccess. El más comúnmente encontrado códigos de error incluir;

  • 400 - Solicitud incorrecta
  • 403 - Prohibido
  • 404 - Archivo no encontrado
  • 500 - Error interno del servidor
  • 503 - Servicio no disponible

2. Manejar redirecciones

Puede haber ocasiones en las que desee establecer un redireccionamiento global para que pueda dirigir a sus visitantes a páginas específicas sin que ellos lo sepan. Por ejemplo, si originalmente usaste HTTP pero tienes desde entonces SSL instalado y movido a HTTPS, desearía que todos sus usuarios usen la versión HTTPS de su sitio.

En esta situación, lo que debe hacer es utilizar la regla de Reescritura;

RewriteEngine On RewriteCond% {SERVER_PORT} 80 RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R, L]

El código para esto puede ser modificado dependiendo de sus necesidades. Por ejemplo, si desea redirigir a los usuarios de su antiguo dominio a uno nuevo, entonces usaría;

RewriteEngine On RewriteCond% {HTTP_HOST} ^ olddomain.com [NC, OR] RewriteCond% {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ Http://newdomain.com/$1 [L, R = 301, NC]

Hay muchas variaciones de cómo puede configurar redirecciones. Detalles de la sintaxis para reescribir se pueden encontrar en la Documentación de apache páginas.

Una de las cosas más útiles que las redirecciones pueden hacer por usted es ayudarlo a guiar los motores de búsqueda a las páginas que ha movido. Normalmente, los motores de búsqueda indexarán los enlaces y, si no pueden encontrar las páginas correctas, asumirán que el contenido se ha ido.

Al usar una redirección, puede mover fácilmente el contenido y dejar que los rastreadores web sepan dónde encontrar el contenido que han indexado previamente. Para ello, utilizar;

Redireccionar 301 / archive / / entradas pasadas /

La instrucción 301 no solo permite que los usuarios accedan al contenido anterior sin problemas, sino que también sirve como una instrucción para que los rastreadores web se muevan permanentemente. Esto les ayuda permitiéndoles volver a indexar los enlaces rápidamente.

3. Aumente la seguridad de su sitio web

Me parece que muchos propietarios de sitios web nuevos tienden a confiar demasiado en Herramientas externas para aumentar la seguridad de su sitio web.. Si bien es cierto que hay un montón de excelentes aplicaciones, puedes comenzar con lo básico en tu archivo .htaccess.

Directorios Protegidos por Contraseña

Para hacer esto necesitarás dos archivos, .htaccess y .htpasswd. El archivo .htpasswd incluye algo de encriptación, así que use una herramienta como Generador de htpasswd para crear el archivo. El archivo .htaccess debe incluir este código;

AuthType Basic AuthName "Área protegida por contraseña" AuthUserFile /path/to/.htpasswd Requerir usuario válido

Deshabilitar la navegación de directorios

Este es uno de los más fáciles de hacer y solo necesita que se incluyan dos líneas de código en su archivo .htaccess;

# Desactivar las opciones de navegación del directorio -Indexes

Bloquear IPs específicas

Para evitar que las direcciones IP individuales visiten su sitio, agregue el siguiente código a su archivo .htaccess;

Denegar de XXX.XXX.XXX.XXX

Donde reemplazas XXX con los valores IP numéricos. Existen variaciones de este código que se pueden usar para bloquear un rango de direcciones IP o varias direcciones IP también.

4. Protección Hotlink

La conexión en caliente se produce cuando otros sitios web se vinculan a imágenes que usted hospeda. Esto es indeseable porque utilizan tanto su espacio como su ancho de banda. Para evitar la conexión en caliente de la imagen, agregue lo siguiente a su archivo .htaccess;

RewriteEngine en RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg | jpeg | bmp) $ - [F]

La última línea de ese código es donde especifica qué archivos quiere bloquear los sitios para que no se vinculen. Básicamente, le está indicando a Apache que bloquee todos los enlaces a aquellos archivos que no pertenecen al nombre de dominio http://www.example.com/.

Muchas personas que utilizan hotlink a menudo no vuelven a revisar sus publicaciones, por lo que si realmente quiere avergonzarlos, puede mostrar un mensaje personalizado a los sitios que intentan hacer hotlink;

RewriteEngine en RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg) $ http: // www .example.com / stopstealing.gif [R, L]

Que puede mostrar una imagen alternativa en el sitio ofensivo de esta manera:

5. Protegiendo el archivo .htaccess

Por ahora ya te estás dando cuenta de lo útil que es una herramienta para el archivo .htaccess. Desde que llegó a esa conclusión, ¡es hora de que piense en proteger este valioso archivo! Si estás usando un archivo .htpasswd, entonces probablemente querrás proteger eso y la forma de hacerlo es a la vez;

# protect .htaccess and .htpasswd <Files ~ "^. * \. ([Hh] [Tt])"> Orden permitir, negar Denegar de todos Satisfacer todos </Files>

Tenga en cuenta que en la mayoría de los servidores seguros, estos archivos ya están protegidos. Antes de agregar este código, compruebe si puede acceder a los archivos en una ventana del navegador. Simplemente escriba la URL y agregue un /.htaccess detrás para ver si puede ver el archivo. Si no puede, probablemente se mostrará un mensaje de error.

6. Configuración de la zona horaria del servidor

Si observa que por alguna razón u otra, las horas en su servidor parecen estar un poco apagadas, entonces es posible que deba forzar una zona horaria utilizando el archivo .htaccess. Esto es algo que de nuevo es fácil de hacer y solo necesita una sola línea de código;

SetEnv TZ America / yourtimezone

Hay una gran lista de zonas horarias disponibles y puede encontrar la más cercana a la suya consultando el lista de zonas horarias soportadas.

Abrazar el poder de .htaccess

Las muestras que he mostrado aquí son solo la punta de un iceberg muy grande. Proporciona a los usuarios de alojamiento web un poder mucho mayor sobre sus sitios de lo que normalmente se permitiría a través de un panel de control y les brinda una gama más amplia de herramientas para trabajar.

Aprender a usar el código es simplemente un paso lejos con el poder de Google, y lo mejor de todo es que solo necesita elegir y aprender las cosas que necesita usar.

Acerca de Jerry Low

Fundador de WebHostingSecretRevealed.net (WHSR): una revisión de alojamiento confiable y utilizada por los usuarios de 100,000. Más de 15 años de experiencia en alojamiento web, marketing de afiliación y SEO. Colaborador de ProBlogger.net, Business.com, SocialMediaToday.com y más.