La guía para principiantes de .htaccess
Publicado: 2023-10-25.htaccess: la palabra aterradora que todos los propietarios de un sitio web han escuchado de vez en cuando. Si bien el nombre en sí hace que parezca demasiado técnico para comprenderlo, es una herramienta poderosa para tener en su arsenal. Al comprender .htaccess, cómo funciona y sus posibles casos de uso, hay cosas más que suficientes que puedes hacer con él sin esfuerzo. ¡Profundicemos en qué es, cómo puede usarlo para su beneficio y obtengamos los ejemplos y explicaciones más útiles para los usos más comunes de .htaccess!
¿Qué es .htaccess?
La abreviatura de "acceso de hipertexto", .htaccess es un archivo de configuración que puede ayudarle a controlar el software del servidor web Apache. Puede crear el archivo .htaccess y agregarlo al directorio para que el servidor web Apache lo cargue y luego lo ejecute.
En pocas palabras, puede utilizar este archivo para habilitar o deshabilitar cualquier funcionalidad que el servidor web tenga para ofrecer. Desde el redireccionamiento básico o la prevención de enlaces directos, existen múltiples beneficios al dominar el trabajo con .htaccess.
¿Cómo se ve el archivo .htaccess?
El archivo .htaccess es lo que haces con él. Podría contener solo una línea o varias, según el propósito del archivo. Hay muchas cosas que puedes escribir en el archivo para hacer tantas cosas, algunos de los ejemplos los encontrarás a medida que sigas leyendo.
¿Ya tengo uno?
En la mayoría de los casos, si tienes un sitio web, es probable que ya tengas un archivo .htaccess. Generalmente puedes encontrarlo en la carpeta raíz de tu sitio web. Simplemente dirígete a la carpeta que tiene todo el contenido de tu sitio web y busca la carpeta Public_HTML o una carpeta llamada www. Si tiene subdirectorios para varios sitios, encontrará uno en cada subdirectorio.
Si no logras encontrarlo, no te preocupes. Eso no significa que no lo tengas; simplemente podría estar oculto. Este suele ser el caso de los archivos que comienzan con un punto, tal como lo hace .htaccess. Por defecto, no suelen ser fáciles de detectar.
Simplemente vaya a su Administrador de archivos o cliente FTP y busque la opción "mostrar archivos ocultos". No deje ninguna opción sin activar, especialmente "Preferencias", "Configuración" u "Opciones".
Parece que no tengo uno.
Aún así, no te preocupes, porque puedes crear uno sin esfuerzo. Lo que necesitarías es un editor de texto normal y algo de atención a los detalles. Puede utilizar Microsoft WordPad o TextPad, por ejemplo. Sin embargo, la parte complicada es asegurarse de nombrar y guardar su archivo .htaccess correctamente.
Primero, debes guardarlo en el formato adecuado. Debe estar en formato ASCII, así que resista la tentación de guardarlo como UTF-8 o cualquier otro formato.
En segundo lugar, asegúrese de que se llame .htaccess. Esto suena bastante sencillo, pero aquí es donde entra en juego el ojo para los detalles. Desea asegurarse de mantener el punto al principio. El siguiente paso es asegurarse de no incluir ninguna extensión de archivo. Guardarlo como "htaccess.txt" no llegará a la línea de meta. ¡Agregue el punto y elimine la extensión!
Por último, desea cargarlo en el directorio apropiado. Puede volver a la guía y guardarla en uno de los directorios mencionados anteriormente. Para hacerlo, puede utilizar FTP o cualquier otro administrador de archivos basado en navegador con el que se sienta cómodo.
¿Qué puedo hacer con .htaccess?
Hay varias cosas que puedes lograr con .htaccess y un poco de conocimiento. Éstos son algunos de ellos:
Manejo de errores
Lo primero, y uno de los más simples, que puedes hacer con .htaccess, es asegurarte de que tus visitantes vean un mensaje de error amigable y personalizado, en lugar del aterrador.
Lo que quieres hacer es crear un documento HTML primero. Se recomienda que contenga la descripción del error, por ejemplo, "No encontrado" para errores 404 o "Puerta de enlace incorrecta" para errores 502. Aunque la verdad es que puedes mostrar cualquier contenido que desees.
También debe asegurarse de nombrarlo correctamente para saber qué documento es. Si maneja el error 404, la forma común de guardarlo es como 404.html. También desea guardarlo en el directorio error_pages, que debería contener todos los documentos de error.
Una vez que esté listo, debes abrir tu archivo .htaccess en un editor preferido y escribir algo como esto:
Documento de error 404 /error_pages/404.html
Esta línea le indicará al servidor de su sitio web que muestre el documento designado cada vez que ocurra un error 404. Puede repetir este proceso con cualquier documento de error que desee, para asegurarse de que sus visitantes no se sientan frustrados por el mensaje demasiado simple y genérico que normalmente recibirían.
Redirecciones simples
Si bien WordPress puede tener muchos complementos para hacer esto por usted, también puede redirigir a sus visitantes utilizando el archivo .htaccess. Hacer que sus visitantes lleguen a la página que especificó en lugar de la que solicitaron es otra tarea sencilla. Al ingresar otra línea en el archivo, puede redirigir a sus visitantes a otro lugar dentro de su sitio web o incluso a otro sitio web también.
Para redirigirlos, aquí tienes un ejemplo de lo que podrías agregar al archivo .htaccess. Por supuesto, deberías editarlo un poco para adaptarlo a tus necesidades.
Redirigir /old_dir/ http://www.yourdomain.com/new_dir/index.html
Expliquemos esto para que sepa cómo personalizarlo para asegurarse de que sus visitantes terminen donde usted desea que terminen.
Primero, ¿cuál sería el /old_dir/? Es un directorio o documento ubicado bajo tu dominio, o, más precisamente, estaría ubicado en 'http://www.tudominio.com/old_dir/'. Este es el punto al que sus visitantes intentarán acceder. El resto del archivo especifica dónde deberían terminar. En este caso, terminarán en la página de índice de /new_dir/ en su sitio web.
Como puede ver, a diferencia del punto de partida, la página a la que desea que terminen sus usuarios es una URL completa. Esto ayuda al redirigir a otro dominio, ya que puede usar cualquier URL y agregarla en lugar de la del ejemplo. Pedazo de pastel, ¿no?
Protección de contraseña
Si está buscando construir una comunidad alrededor de su sitio web, ofrecer un área para miembros y hacer que los visitantes inicien sesión puede ser el truco. Si bien la comunidad es una excelente opción para tus esfuerzos de marketing y ventas, también puede ayudarte a generar una idea de quiénes son tus usuarios y a recopilar la información tan necesaria sobre tus clientes.
Siempre que cumpla con el RGPD, puede utilizar este ingenioso truco para editar su oferta en función de la información que recopile y, al final, ¡vender más!
¿Cómo proteger con contraseña?
La oportunidad de agregar una contraseña a cualquier elemento de su sitio web es la forma más común de utilizar archivos .htaccess. También es bastante sencillo de hacer y, aun así, puedes proteger con contraseña uno o varios directorios. Esto hará que los usuarios tengan un nombre de usuario y una contraseña válidos para acceder a él, lo que puede resultar bastante útil en diversas situaciones.
Si configura la protección con contraseña para los directorios, el procedimiento de inicio de sesión será bastante simple y su navegador web lo manejará automáticamente. Aparecerá como una interfaz emergente del navegador. Las contraseñas también están cifradas, por lo que las credenciales de inicio de sesión también estarán seguras.
Si sabe qué directorio desea proteger con contraseña, continúe y cree un archivo .htaccess. ¡Tenga en cuenta que todos los subdirectorios también estarán protegidos con contraseña! Aquí también se aplican las mismas reglas, pero querrás incluir lo siguiente:
AuthName “Nombre del miembro”
AuthUserFile /ruta/a/contraseña/archivo/.htpasswd
Tipo de autenticación básico
requerir usuario válido
Vamos a desglosarlo para que sepas cómo modificarlo si es necesario. En la primera línea, este archivo .htaccess especifica el nombre del directorio que desea proteger. En este caso, es el directorio “Nombre del miembro”, pero debe modificarlo para que se ajuste al nombre de un directorio que debe estar bajo una contraseña.
La segunda línea especifica el archivo de contraseña o, para ser más precisos, dónde el servidor puede encontrar el archivo de contraseña. El tercero es el tipo de autorización que está utilizando. En el ejemplo, es básico y significa autenticación HTTP básica.
La última línea representa los requisitos para iniciar sesión. En este ejemplo, requiere credenciales de inicio de sesión válidas. Aquí puede especificar lo que se necesita para que sea válido, dependiendo de lo que esté intentando proteger con contraseña.
El archivo de contraseña
Ahora, necesitas averiguar el archivo de contraseña. Si bien puede ubicarse en cualquier lugar de su servidor web, se recomienda tener el archivo de contraseña ubicado en el mismo directorio que el archivo .htaccess. Esto se debe a que algunos de los servidores requieren que esto esté configurado. Debe utilizar la ruta completa al directorio, que contiene el archivo de contraseña, en la segunda línea.
Por supuesto, esto también significa que debes tener listo el archivo de contraseña. En el ejemplo, se llama .htpasswd, pero puedes llamarlo como quieras. Aún así, si le pones el mismo nombre, la buena noticia es que el servidor reconocerá este nombre de archivo y lo ocultará a los visitantes automáticamente. El archivo de contraseña debe contener algo como:
nombre de usuario: contraseña cifrada
john_smith:oCF9Pam/MXJg2
Negar el acceso a los visitantes
Incluso en los sitios web, existen personas no gratas. Con el archivo .htaccess correcto, puedes limitar el acceso de alguien. O, por el contrario, permitir un acceso específico a un visitante concreto. El primero es bastante útil si buscas proteger tu sitio web, y el segundo es perfecto si quieres tener control total sobre el aspecto específico de tu sitio.
Puede denegar el acceso a visitantes de dos formas. Deniegue el acceso a sus visitantes según su dirección IP, o puede hacer una selección según el referente.
Negando por IP
Si está buscando incluir alguna IP en la lista negra, puede hacerlo sin esfuerzo con un poco de ayuda de su archivo .htaccess. Crea uno nuevo, siguiendo las mismas reglas, y luego agrega el siguiente texto.
orden permitir, negar
negar de XXX.XXX
negar de XXX.XX.X.
permitir de todos
Por supuesto, debes reemplazar las X con la dirección IP que deseas bloquear. Agregue tantas como necesite y este archivo le permitirá al servidor web saber que estas direcciones IP no son bienvenidas en su sitio. Asegúrese de agregar permiso de todos, ya que esta línea significa que otros visitantes son más que bienvenidos a su sitio web.
Por otro lado, si quieres ser el único con acceso, deberás incluir en su lugar el siguiente texto:
orden permitir, negar
permitir desde XXX.0.0.0
Negar todo
Por supuesto, debes reemplazar las X con tu propia dirección IP. Este le dirá al servidor que solo tú debes tener acceso a un lugar específico.
Negando por árbitro
Al observar sus registros, observa actividad sospechosa. ¿Por qué no simplemente agregas el referente a la lista negra y te quitas la preocupación de encima? Así es como puedes hacerlo con .htaccess.
Simplemente cree el archivo como lo haría normalmente. La entrada debería verse así:
Reescribir motor en
# Opciones +SeguirEnlaces simbólicos
RewriteCond %{HTTP_REFERER} otrodominio\.com [NC]
Reescribir regla .* – [F]
¡Esto debería funcionar! Sin embargo, debes verificar si 'mod_rewrite' está habilitado en tu servidor, ya que podría estar deshabilitado debido al hecho de que podría generar una demanda bastante grande de recursos. Si es así, deberías comprobarlo con tu proveedor de hosting.
En esencia, estas líneas le permiten al servidor saber que nadie de otrodominio\.com es bienvenido en su sitio web. Por supuesto, deberías agregar aquí el dominio apropiado. La parte '[NC]' al final también es muy importante, ya que le permite saber que el nombre de dominio que proporcionó no distingue entre mayúsculas y minúsculas. Lo que significa que "Otro Dominio" también está prohibido.
Si está buscando bloquear a varios alborotadores, agregue '[NC,OR]' en su lugar, y luego continúe y agregue otro de la misma manera:
RewriteCond %{HTTP_REFERER} otro dominio\.com
Puedes seguir haciendo esto hasta que estés satisfecho, pero no olvides agregar '[NC,OR]' al final de cada uno, excepto el último.
Evitar que Bad Bots escanee su sitio web
Otra razón perfecta para usar .htaccess es evitar que los rastreadores ingresen a su sitio web. Si bien los hay inofensivos, que descargan contenido completo para navegarlo sin conexión, también los hay con intenciones maliciosas. Es decir, Internet está lleno de robots malos que buscan direcciones de correo electrónico para llenarlas con correos electrónicos no deseados, agujeros de seguridad o simplemente para obtener contenido.
Si bien esto es un poco más avanzado que los ejemplos anteriores, definitivamente deberías intentarlo. Es imprescindible evitar que estos robots malos te hagan daño, de una forma u otra.
Simplemente cree otro archivo .htaccess como lo hizo en los ejemplos anteriores. Lo que necesitarías escribir en él es similar a esto:
Reescribir motor encendido
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [O]
ReescribirCond %{HTTP_USER_AGENT} ^SuperBot
Reescribir regla ^.* – [F,L]
La verdad es que la lista debería ser mucho más larga, ya que debería incluir a todos los batbots conocidos. Puede encontrar dicha lista aquí. Cuantos más incluyas, mejor.
Aún así, asegúrate de cambiarle el nombre: usa el nombre del bot en lugar de BlackWidow o SuperBot. Incluya siempre [O] al final de cada uno, pero asegúrese de no usarlo con el último. ¡Voilá! ¡Su sitio web está libre de todos esos rastreadores maliciosos!
¿Hay más?
Por supuesto que lo hay. Como se dijo, después de todo, esta es una guía para principiantes. Hay muchas cosas adicionales que puedes hacer con los archivos .htaccess.
Por ejemplo, puede utilizar archivos .htaccess para configurar la zona horaria del servidor o cambiar su firma. Si su sitio web depende en gran medida de los medios, puede usarlo para asegurarse de que todos los archivos multimedia se descarguen, en lugar de reproducirse. O puede usarlo para evitar solicitudes que incluyan caracteres no válidos y mucho más.
Si bien incluso intentar deletrear .htaccess es problemático, usar uno, como puedes ver, es pan comido, ¡aunque aún puedes lograr mucho con él!
Lo que debe tener en cuenta al crear y editar su archivo es probarlo minuciosamente después de haber realizado cualquier cambio antes de publicarlo. No desea proporcionar a sus usuarios un error interno del servidor 500, ¿verdad?
El último consejo
Incluso si algo no funciona correctamente, no se frustre demasiado. Compruebe si hay errores tipográficos, ¡esto suele funcionar! Si no es así, consulte los foros de soporte.