El archivo htaccess La guía definitiva

El archivo htaccess: la guía definitiva

Al profundizar en el administrador de archivos de su cPanel o plataforma de hosting, puede toparse con un archivo llamado .htaccess. ¿Alguna vez te has preguntado: "¿Qué significa .htaccess?" Se presenta como una herramienta fundamental para ajustar la configuración de los servidores web Apache, un software de servidor utilizado popularmente en varios sistemas operativos.

A primera vista, la sintaxis del archivo .htaccess puede parecer complicada, pero su función es notablemente poderosa. Es capaz de ejecutar tareas como la redirección de URL, la protección de contraseñas y la restricción de acceso según ciertos criterios, lo que enfatiza su importancia. Nuestra guía está aquí para aclarar cómo establecer un archivo .htaccess y aprovechar algunas de sus características principales.

Comandos HTACCESS e índice de directorio:

Índice de directorio: Un aspecto elemental controlado a través del archivo .htaccess es el índice del directorio. Este término denota el código o archivo HTML predeterminado que se muestra cuando los visitantes abren un directorio en su sitio sin identificar un archivo específico. A través de la directiva `DirectoryIndex`, puede dictar la secuencia de archivos presentados cuando se accede a un directorio. Para ilustrar:

DirectoryIndex index.html index.php home.html

Aquí, si un visitante navega a un directorio sin indicar un archivo, el sistema primero busca "index.html", seguido de "index.php" y, por último, "home.html" para mostrar como la página de inicio del directorio.

Redirección de URL: El archivo .htaccess facilita las redirecciones de URL sin esfuerzo a destinos nuevos o páginas de error personalizadas. El uso del comando `Redirect` garantiza redirecciones directas, mientras que `RewriteRule` permite redirecciones complejas a través de expresiones regulares. Por ejemplo:

Redirect 301 /old-page.html https://www.example.com/new-page.html

En esta demostración, una redirección 301 cambia permanentemente la URL "old-page.html" a "https://www.example.com/new-page.html".

Protección de contraseña: Con el archivo .htaccess, puede reforzar la seguridad de directorios particulares. Las directivas `AuthType`, `AuthName`, `AuthUserFile` y `Require` se implementan para este propósito. Por ejemplo:

AuthType Basic

AuthName "Zona restringida"

AuthUserFile /ruta/dirigido/a/contraseñas/documento

Require valid-user

En este escenario, se solicitará a cualquier visitante que ingrese un nombre de usuario y una contraseña para acceder al directorio que alberga el archivo .htaccess con estas instrucciones.

Comprender y aprovechar estos comandos .htaccess lo posicionará para ampliar la funcionalidad y la seguridad de su sitio, aprovechando el inmenso potencial del servidor web Apache. Siempre acérquese al archivo .htaccess con precaución, ya que las configuraciones incorrectas pueden desencadenar desafíos imprevistos en su plataforma.

 

Notas iniciales y configuración

Archivo htaccess

El archivo .htaccess, comúnmente denominado "archivo de puntos" debido a su período inicial, se erige como un archivo de configuración indispensable fundamental para el gobierno del dominio web. Entonces, ¿qué significa .htaccess? Es la abreviatura de "acceso de hipertexto" y representa un componente vital para garantizar el funcionamiento sin problemas y la seguridad reforzada de su servidor web.

Los archivos de puntos, como .htaccess, pueden estar vinculados con un sistema operativo o software en particular y, por lo general, el sistema los oculta en los administradores de archivos o en las interfaces del buscador. Para descubrir estos archivos ocultos, es posible que deba modificar la configuración de visualización de su sistema para mostrar los archivos ocultos. Alternativamente, en la línea de comandos, al utilizar 'ls -a' se revelarán todos los archivos, incluidos los ocultos, como la ubicación del archivo htaccess en Linux.

Su servidor puede alojar varios archivos .htaccess, cada uno con distintos códigos htaccess. Estos archivos funcionan de forma recursiva. Esto significa que cada archivo .htaccess tiene influencia sobre su directorio de residencia, que abarca todos sus archivos y subdirectorios. Por lo tanto, es un instrumento adaptable para dictar diversas facetas de la conducta y la seguridad de su sitio web.

Es esencial diferenciar el archivo .htaccess del archivo de configuración del servidor principal, generalmente denominado "httpd.conf" o "apache2.conf", dependiendo de la configuración de su servidor. Mientras que este último dirige el servidor completo, el archivo .htaccess otorga configuraciones más detalladas y específicas del directorio.

Al enviar su archivo .htaccess a un servidor a través de FTP, es fundamental transmitirlo en modo ASCII. La mayoría de las herramientas de FTP tienen por defecto el modo BINARIO para la transferencia de datos; sin embargo, este modo falla con los archivos de puntos. Para eludir las interrupciones de contenido, su herramienta FTP debería permitirle cambiar el modo de transferencia. Si incrusta una ventana emergente, puede usar una sintaxis como “/popup_window.php?site_isp_root=” para dirigir a los usuarios al contenido relevante.

Después de cargar su .htaccess al servidor, vuelva a verificar su operatividad. Si sus modificaciones parecen inertes, la causa podría ser permisos de archivo desalineados. El archivo .htaccess debe tener permisos establecidos en 755, otorgando al propietario derechos de lectura, escritura y ejecución, mientras que otros conservan los derechos de lectura y ejecución. Modifique estos permisos a través de su herramienta FTP en el segmento "Permisos de archivo", o utilice 'chmod 755 .htaccess' en la línea de comando.

Para concluir, el archivo .htaccess personifica una potente herramienta de configuración que es fundamental para la funcionalidad de su sitio web. Ofrece un enfoque adaptable para administrar las configuraciones del servidor, el redireccionamiento de URL y las restricciones de acceso. Comprender sus capacidades y administrarlo meticulosamente amplificará su eficacia, asegurando que su sitio web permanezca libre de posibles fallas.

Archivos de configuración del servidor

Aprovechar el archivo .htaccess, un elemento esencial en el conjunto de configuración del servidor para el servidor web Apache, proporciona los medios para crear páginas web de error personalizadas. Mejorar la experiencia del usuario en su página web se vuelve notablemente significativo cuando se encuentran con mensajes de error. Encontrar advertencias como "404 Archivo no encontrado", "401 Acceso no autorizado" o "500 Error interno del servidor" a menudo puede desconcertar a los usuarios. Al ofrecer una solución, como ventanas emergentes o un enlace a la página principal, se asegura de que los usuarios puedan volver a navegar sin esfuerzo a la ubicación deseada. Esa es una característica que no debe pasarse por alto.

Reconocido en diversas plataformas, el servidor web Apache se basa en el archivo .httaccess. Esto permite a los usuarios modificar las configuraciones del servidor específicas de directorios individuales. Esta adaptabilidad facilita configuraciones adaptadas a cada sección de su sitio, asegurando que cumplan con sus criterios estipulados.

Una configuración práctica de .htaccess es alojar varios sitios de usuarios usando un solo servidor. Al ingresar las directivas correctas en este archivo php, puede supervisar sin problemas numerosos dominios o subdominios en su servidor. Cada uno puede ser dirigido a su propio directorio y contenido web. Esta característica se destaca especialmente para aquellos en el sector del alojamiento web o para aquellos que manejan numerosos sitios web bajo un solo paraguas de alojamiento.

Más allá de las páginas web de errores personalizados y el alojamiento de sitios múltiples, la destreza del archivo .htaccess se extiende a numerosas configuraciones: reescritura de URL, administración de acceso, activación de inclusiones del lado del servidor, etc. Es una fuerza a tener en cuenta, amplificando la funcionalidad y el fortalecimiento de su sitio web sin necesidad de tocar el archivo de configuración del servidor principal.

Para tejer páginas web de error personalizadas en la estructura de su sitio, inyecte el código pertinente en su archivo php .htaccess. Este movimiento ejemplifica la esencia del archivo .htaccess como una herramienta de configuración de servidor distribuido. Es un habilitador que refina la experiencia del usuario y eleva el rendimiento del sitio web. La capacidad de personalizar los mensajes de error, emplear ventanas emergentes y configurar el servidor de comandos directorio por directorio implica que el archivo .htaccess es, en la mayoría de los casos, la respuesta para forjar un ecosistema web más intuitivo y optimizado.

Redirigir página

Redirigir página Otro uso común de .htaccess es para redireccionamientos de página. Puede dirigir desde cualquier ruta relativa dentro del director de su sitio. También puede redirigir a una ruta absoluta en su sitio o en otro lugar completamente en Internet. La sintaxis básica para usar en su .htaccess el archivo es:

Redirigir / directory_to_redirect_from / https://mysite.com/new_directory/index.html 

Siempre debe usar una ruta relativa como directorio de origen. Una ruta absoluta debe ser el directorio al que redireccionar.

 

Archivo htaccess: Agregar protección con contraseña

La implementación de la protección con contraseña en su sitio web, ya sea para todo el sitio o solo para directorios particulares, es una tarea que el archivo .htaccess maneja de manera efectiva. Un sitio web o directorio protegido con contraseña exigirá un nombre de usuario y una contraseña para acceder. Cuando un usuario llega a una página protegida con contraseña, aparecerá una ventana emergente de inicio de sesión en el navegador. El servidor Apache HTTP garantiza que todas las contraseñas del archivo .htaccess estén cifradas para mayor seguridad.

Para agregar protección con contraseña a un directorio específico, cree un nuevo archivo .htaccess dentro de ese directorio, resaltando el papel del archivo .htaccess en la restricción del acceso a una carpeta. Si desea proteger con contraseña todo su sitio web, coloque el archivo .htaccess en el directorio raíz. Es importante recordar que el archivo .htaccess aplica protección de contraseña recursivamente a todos los archivos y subdirectorios contenidos en el directorio principal.

A continuación se muestra la sintaxis básica para implementar la protección con contraseña:

bash
AuthName "Authorized Access Only"
AuthUserFile /htpassword-filepath/.htpasswd
AuthType Basic
require valid-user

La directiva "AuthName 'Sólo acceso autorizado'" establece el nombre del directorio protegido, que aparece en la ventana emergente de inicio de sesión.

El comando "AuthUserFile /htpassword-filepath/.htpasswd" informa al servidor Apache de la ubicación del archivo .htpasswd. Reemplace "/htpassword-filepath/.htpasswd" con la ruta de archivo real de su .htpasswd en su servidor.

La directiva "AuthType Basic" señala el uso de la autenticación HTTP básica, que es el tipo más frecuente y adecuado para la mayoría de los propósitos.

Por último, "requerir usuario válido" estipula que se necesita un nombre de usuario y una contraseña válidos para acceder al directorio. Si el acceso se va a limitar a un usuario específico, reemplácelo con "requerir nombre de usuario", sustituyendo 'nombre' con el nombre de usuario específico. Esto es particularmente útil para las secciones de administración de un sitio web a las que solo deben acceder personas específicas.

Aquí hay un video genial que muestra cómo crear y editar un archivo .htaccess por Zac Gordon.

 

.htpasswd

Usted puede colocar .htpasswd en cualquier directorio en la mayoría de los servidores, siempre que coloque la ruta absoluta para el archivo en .htaccess. El uso de una ruta relativa o una URL no localizará el archivo. En ciertas ocasiones .htpasswd deberá estar en el mismo directorio que .htaccess, sin embargo. Además, puede nombrar .htpasswd algo más. Aunque esta es una convención de nomenclatura que Apache entenderá automáticamente.

Para agregar una contraseña a .htpasswd, use la siguiente sintaxis:

nombre de usuario: contraseña cifrada
administración: fs424sJK / 67JGmn

Puede tener varios nombres de usuario y contraseñas guardados en un solo .htpasswd archivo, cada uno en su propia línea. Cada par de nombre de usuario y contraseña debe estar en la misma línea sin espacios, separados solo por dos puntos.

Servidores Linux requiere que utilice un servicio de cifrado de contraseñas para cifrar la contraseña. Hay muchas aplicaciones y sitios web que pueden hacer esto de forma gratuita. Una opción que vale la pena mencionar es DirectoryPass de ionix.

Tenga en cuenta que .htaccess no permite la funcionalidad de cierre de sesión. Una vez que se ingresan las credenciales de inicio de sesión correctas, se guardan en la caché del navegador web hasta que salga del navegador. Volver a abrir la página después de salir del navegador requerirá que ingrese las credenciales nuevamente.

Negar el acceso por dirección IP

Negar el acceso por dirección IP Una herramienta útil ofrecida por .htaccess es la capacidad de bloquear visitantes en función de su dirección IP. De esta manera, puede bloquear a ciertos visitantes por completo. Alternativamente, puede bloquear desde ciertas secciones del sitio, solo agregando un .htaccess archivo a un directorio específico.

Para bloquear visitantes en función de su dirección IP, utilice la siguiente sintaxis:

Orden allow, deny
negar de 345.4.5.0
negar de 754.53.8.
Dejar de todas las

El código del ejemplo indica a Apache que denegue el acceso desde las direcciones IP 345.4.5.0 y 754.53.8. En la tercera línea, la dirección IP 754.53.8 no incluye un cuarto grupo de dígitos, por lo que cualquier dirección IP que coincida con los tres primeros se bloqueará. Esto significa que 754.53.8.2, 754.53.8.4, etc., se les negaría el acceso al sitio.

Si solo desea permitir el acceso desde direcciones IP específicas, en lugar de bloquear, la sintaxis es muy similar. Puede utilizar el siguiente código:

Orden allow, deny
permitir a partir de 345.4.5.0
deny from all

En este código, la única dirección IP que puede acceder al sitio es 345.4.5.0 - Se rechazarán todas las demás IP.

En ambos casos (configuración de direcciones IP permitidas o bloqueadas), puede agregar tantos registros como desee, cada uno en su propia línea.

Cuando se bloquea una IP, a los visitantes se les mostrará un mensaje de error "403 Prohibido". Como vimos antes, puede personalizar las páginas de error para proporcionar al visitante más información legible por humanos.

Prevención de enlaces calientes

Cuando otro sitio obtiene activos de su sitio (como imágenes, videos, Archivos CSS, etc.), esto consume innecesariamente su ancho de banda. Esto puede generar mayores costos de alojamiento sin ninguna atribución o beneficio para usted.

Afortunadamente, .htaccess tiene una forma de evitar que esto suceda, impidiendo que otros dominios muestren su contenido:

RewriteEngine en
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Https: // (www \.)? Mycoolsite.com /.*$ [NC]
RewriteRule \. (Png | jpg | mp4) $ - [F]

 

Encima,.htaccess no permite .png, .jpg or .mp4 archivos para vincularlos desde un dominio que no sea https://www.mycoolsite.com. Puede especificar otros formatos de archivo para no permitir (como .css, .mp3, etc.). Por supuesto, querrá cambiar el código con su propio nombre de dominio.

Para ir un paso más allá, en caso de que un sitio externo intente vincular a su contenido, puede proporcionar una imagen o mensaje alternativo para que se muestre en su lugar (como una imagen que diga "Lo siento, el contenido que está probando para acceder es desde mycoolsite.com ”):

Si un sitio externo intenta vincular su contenido, puede proporcionar una imagen o mensaje alternativo para que se muestre en su lugar. Un ejemplo es una imagen que dice "Lo siento, el contenido al que está intentando acceder es de mycoolsite.com".

RewriteEngine en
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Https: // (www \.)? Mycoolsite.com /.*$ [NC]
RewriteRule \. (Png | jpg | mp4) $ https://www.mycoolsite.com/hotlink-error-message.jpg [R, L]

Esto mostrará hotlink-error-message.jpg cada vez que alguien intenta conectarse a .png, .jpgo .mp4 archivos de mycoolsite.com.

htaccess Redirigir a HTTPS

Cuando agrega un certificado SSL a su sitio, su servidor continuará brindando la versión HTTP de todas sus páginas web. Es por eso que necesita redirigir HTTP a HTTPS, forzando SSL en su sitio.

Tenga en cuenta que una función importante que puede realizar a través de .htaccess son las redirecciones 301, y esto puede redirigir permanentemente una URL antigua a una nueva. Es sencillo activar la función para forzar HTTPS en todo el tráfico que llega a su sitio siguiendo estos sencillos pasos:

  1. En su panel de alojamiento, vaya al Administrador de archivos y abra .htaccess en la carpeta public_html. Y si no puede localizarlo, debe crearlo o mostrarlo.
  2. Después de eso, desplácese hacia abajo para encontrar RewriteEngine On y luego inserte estas líneas de código justo debajo;
  3. htaccess Redirigir a HTTPS Ahora guarda los cambios.

htaccess WordPress

Deberías saber que en WordPress, .htaccess es uno de los archivos de configuración especiales que puede controlar cómo su servidor web se ejecuta y administra su sitio. El archivo htaccess es uno de los archivos de configuración más poderosos y puede controlar las conexiones SSL, las redirecciones 301, la protección con contraseña, el idioma predeterminado y mucho más en su sitio web de WordPress.

Vale la pena señalar que el uso de archivos de configuración .htaccess se hizo más popular, ya que podrían usarse fácilmente para anular la configuración del servidor internacional relacionada con el acceso a directorios. En los últimos tiempos, sin embargo, .htaccess puede anular varios otros ajustes de configuración.

Ejemplos de archivos htaccess

le alegrará saber que una gran cantidad de posibilidades de configuración se pueden lograr fácilmente dentro del archivo .htaccess.

Bloquear direcciones IP

¿Está recibiendo tráfico de spam? Quizás, su sitio está sufriendo intentos de piratería o abuso de direcciones IP específicas. Si ese es el caso, puede tomar medidas con su archivo .htaccess. Puede bloquear fácilmente el tráfico de esa dirección IP utilizando un código en su archivo .htaccess.

Para bloquear un dominio en particular o específico, puede agregar lo siguiente al archivo .htaccess raíz de su sitio web:

Denegar desde 123.123.123.123/255.255.255.0

Después de eso, cambie la dirección IP y los valores de la máscara de red para que coincidan con el dominio que desea bloquear.

Evitar el enlace directo de imágenes

Debe saber que el enlace directo de imágenes ocurre cuando alguien inserta una imagen en su sitio en la suya. Y esto puede ser muy problemático (no solo desde la perspectiva de los derechos de autor), ya que significa que su servidor tiene que trabajar potencialmente horas extras para mostrar imágenes en el sitio web de otra persona.

Lo mejor es que puede detener esto fácilmente usando su archivo .htaccess y bloquear a una persona para que no incruste sus imágenes con derechos de autor en su sitio.

Al ingresar las siguientes líneas en un archivo .htaccess, puede evitar fácilmente los enlaces directos a su sitio:

Direcciones IP de htaccess-file-Block

También puede utilizar el siguiente código:

Direcciones IP de htaccess-file-Block

¿Cómo localizar el archivo .htaccess?

¿Sabía que la mayoría de los sitios web, incluidos los creados en WordPress, vienen equipados con un archivo .htaccess? Este archivo normalmente se encuentra en el directorio raíz de su sitio. Vale la pena señalar que el archivo .htaccess suele estar oculto y carece de extensión de archivo.

A menudo puedes encontrar la respuesta a la ubicación del archivo .htaccess en la carpeta `public_html` de tu sitio.

¿Qué constituye un archivo .htaccess?

Un archivo .htaccess debe constar de varias reglas que sirven como directivas para su servidor web. Es una característica común en casi todos los sitios web y está situada en el directorio raíz o central de su sitio.

Beneficios e inconvenientes

Una de las ventajas de los archivos .htaccess es su aplicabilidad en tiempo real. Estos archivos se leen en cada solicitud, lo que significa que cualquier modificación que realice tendrá efecto inmediato. Esto contrasta marcadamente con la configuración global, que generalmente requiere reiniciar el servidor para que se apliquen los cambios. Además, la autorización .htaccess permite a cada usuario configurar rápidamente los permisos de su servidor, lo que resulta especialmente útil en un entorno multiusuario.

Sin embargo, hay desventajas. Dado que el servidor tiene que leer el archivo .htaccess para cada solicitud, esto puede causar problemas de rendimiento de moderados a graves bajo cargas elevadas.

Además, descentralizar la configuración entre diferentes usuarios a través de archivos .htaccess puede generar diversas vulnerabilidades de seguridad, especialmente si estos archivos no están configurados con precisión.

¿Cómo deshabilitar el archivo .htaccess?

Si desea desactivar el archivo .htaccess, normalmente puede hacerlo cambiándole el nombre o sacándolo del directorio raíz. Sin embargo, esta acción debe realizarse con precaución, ya que podría afectar la funcionalidad de su sitio web.

Para obtener más detalles, puede buscar el enlace de copia de la respuesta para desactivar el archivo .htaccess de forma segura.

Cosas a tener en cuenta

Si bien un archivo .htaccess puede ser inmensamente útil y puede usarlo para realizar una mejora notable en su sitio web, hay dos cosas en las que puede influir.

Velocidad

Los archivos .htaccess pueden ralentizar su servidor web. Tenga en cuenta que para la mayoría de los servidores, probablemente será un cambio menor o imperceptible. Esto se debe simplemente a la ubicación de la página.

Debe saber que el archivo .htaccess afecta a todas las páginas de su directorio, así como a todos los directorios que se encuentran debajo. Esto significa que cada vez que se carga una página, el servidor web escanea su directorio y todo lo que está arriba hasta que finalmente llega al archivo .htaccess o al directorio más alto.

Seguridad

¿Sabía que el archivo .htaccess es considerablemente más accesible en comparación con la configuración estándar de Apache? Además, los cambios se realizan instantáneamente. Tenga en cuenta que otorgar a los usuarios el permiso para realizar alteraciones y cambios en el archivo .htaccess les otorga demasiado control sobre el servidor web en sí.

Modificación de archivos .htaccess: riesgos y precauciones

Editar archivos htaccess

¿Conoce los riesgos inherentes asociados con la edición de su archivo .htaccess? Eliminar código esencial o agregar una sintaxis incorrecta podría dañar su sitio web. Para minimizar estos riesgos, es fundamental implementar al menos una protección antes de sumergirse en ediciones directas de su archivo .htaccess.

Tienes un par de opciones para asegurar tu trabajo. Un método es hacer una copia de seguridad de su sitio web, lo que le permitirá volver a una versión anterior en caso de que ocurra un error. Alternativamente, puede utilizar un sitio web provisional para revisar el impacto de sus ediciones antes de publicarlas en su sitio principal.

Para mayor seguridad, es recomendable crear una copia de seguridad de su archivo .htaccess y descargarlo en su computadora. Hacerlo garantiza que si algo sale mal con su archivo .htaccess predeterminado, tendrá una opción alternativa que puede cargar para restaurar la funcionalidad.

En resumen

Dominar la manipulación de los archivos de su sitio, como los archivos .htaccess y conf, es un hito crucial en su evolución como desarrollador web confiable. El archivo .htaccess sirve como un excelente punto de partida, dada su amplia gama de aplicaciones y su papel en la configuración de Apache.

Cada vez que profundizas tu comprensión de lo que sucede detrás de escena de tu sitio web, estás más cerca de convertirte en un webmaster experto. Esta experiencia le brinda la capacidad de optimizar la funcionalidad de su sitio web de manera efectiva. Su pregunta muestra un esfuerzo de investigación y es posible que también encuentre que el feed de preguntas relacionadas predeterminado sea un recurso útil para seguir aprendiendo.

 

angelo frisina luz del sol media

Biografía del autor

Angelo Frisina es un autor altamente experimentado y experto en marketing digital con más de dos décadas de experiencia en el campo. Se especializa en diseño web, desarrollo de aplicaciones, SEO y tecnologías blockchain.

El amplio conocimiento de Angelo en estas áreas lo ha llevado a la creación de numerosos sitios web y aplicaciones móviles galardonados, así como a la implementación de estrategias de marketing digital efectivas para una amplia gama de clientes.

Angelo también es un consultor respetado que comparte sus conocimientos y experiencia a través de varios podcasts y recursos de marketing digital en línea.

Con una pasión por mantenerse al día con las últimas tendencias y desarrollos en el mundo digital, Angelo es un activo valioso para cualquier organización que busque mantenerse a la vanguardia en el panorama digital.

Un Comentario

  • soundos Octubre 17, 2021 7 en: 58 am

    Buen artículo una excelente manera de articular. Seguid así