¿Qué es el archivo .htaccess?

  • por

El archivo .htaccess es un potente archivo web que controla la configuración de alto nivel de su sitio web. En los servidores que ejecutan Apache (un software de servidor web), el archivo .htaccess le permite realizar cambios en la configuración de su sitio web sin tener que editar los archivos de configuración del servidor.

En esta guía sobre el archivo .htacess, respondemos a qué es el archivo .htaccess, cómo usar el archivo .htaccess y cómo localizarlo en su servidor, y más.

En esta guía

.Ubicación de htaccess

Nota: Apache (el software que hace funcionar tu servidor web) está configurado para que todos los archivos llamados .htaccess estén ocultos. ¿Por qué? Los archivos tienen información de configuración importante y pueden ser utilizados para comprometer su servidor.

Aunque el archivo está oculto, la ubicación del archivo .htaccess se encuentra más comúnmente en la carpeta public_html de su sitio web.

ubicación de htaccess

Puede acceder a su archivo .htaccess de diferentes maneras:

  • Desde la gestión de archivos de tu cuenta de hosting (como a través de cPanel)
  • Desde un cliente sFTP o FTP
    • Consejo: Si no ves tu archivo .htaccess en su carpeta public_html, es posible que tenga que marcar «Mostrar archivos ocultos»

      Una vez que abra el archivo .htaccess, debería verse así:

      contenido del archivo htaccess

      Usos comunes del archivo .htaccess

      Hay varios casos de uso para el archivo .htaccess. Los ejemplos más comunes incluyen:

      • Añadir redirecciones para ciertas URLs
      • Cargar páginas de error personalizadas, como las páginas 404
      • Forzar a su sitio a usar HTTPS en lugar de HTTP
      • Proteger con contraseña ciertos directorios en su servidor
      • Impedir el hotlinking

      Usar archivos .htaccess es una poderosa herramienta para gestionar su servidor, pero puede ser complicado. Asegúrate de que estás familiarizado con la realización de cambios en tu servidor antes de empezar a editar los archivos .htaccess.

      Nota: Antes de intentar cualquiera de las cosas descritas en esta guía, te recomendamos encarecidamente que hagas una copia de seguridad del archivo .htaccess y de todo tu sitio web de WordPress (por ejemplo, con un plugin de copia de seguridad de WordPress como BackupBuddy). Si no te sientes cómodo haciendo cambios en tu archivo .htaccess, puede que necesites contactar con un desarrollador de sitios web.

      Usando múltiples archivos .htaccess

      Puedes aplicar diferentes configuraciones a diferentes directorios de tu servidor usando múltiples archivos .htaccess. Usted puede, teóricamente, crear un archivo .htaccess en cualquier directorio de su servidor creando y subiendo un archivo de texto plano.

      Aquí hay algunas cosas a tener en cuenta:

      • Generalmente, usted quiere minimizar el número de archivos .htaccess en su servidor porque demasiadas configuraciones pueden ralentizar su servidor.
      • Cuando su servidor ve un archivo .htaccess en un directorio, busca archivos .htaccess en todos los directorios padre también, aumentando el uso de recursos del servidor.
      • Los archivos .htaccess que están más arriba en la ruta de archivos siempre tienen prioridad.
        • Descarga el ebook: Una guía para la seguridad de WordPress

          Cómo editar tu archivo .htaccess

          Si necesitas editar tu archivo .htaccess, tendrás que descargar el archivo existente usando tu cliente FTP o a través del sistema de acceso a archivos de tu host, como dentro de cPanel.

          El archivo .htaccess de tu sitio web puede contener ya configuraciones importantes. Si su archivo .htaccess tiene configuraciones existentes, agregue el nuevo código a lo que ya está allí.

          Nota: No elimine el archivo .htaccess existente a menos que esté vacío o esté absolutamente seguro de que está bien eliminarlo.

          Cómo redirigir URLs con el archivo .htaccess

          Si decide cambiar los nombres de dominio o cambiar la organización de su sitio, puede configurar las redirecciones de URL para asegurarse de que los visitantes de su sitio web no se confundan. Una forma fácil de hacerlo es con los archivos .htaccess.

          Para editar su archivo .htaccess, tendrá que volver a crear el archivo usted mismo y subirlo al servidor utilizando SFTP.

          • 1. Inicie sesión en su servidor a través de SFTP.
          • 2. Localice y descargue su archivo .htaccess. Normalmente estará ubicado en su carpeta de contenido. Si no tiene un archivo .htaccess, puede crear un archivo llamado .htaccess en su ordenador para guardar sus configuraciones.
          • 3. Abra el archivo a través de su editor de texto favorito
          • 4. Añada estas líneas a su archivo:
            # enable basic rewritingRewriteEngine on
          • 5. Copie y pegue sus nuevas configuraciones en el archivo .htaccess y guarde el archivo.
          • 6. Suba esto de nuevo al directorio del que tomó originalmente su archivo .htaccess.
          • 7. Pruebe su trabajo yendo a su sitio web y viendo las páginas que quería redirigir.
          • También puede usar el archivo .htaccess para redirigir páginas individuales en su sitio web utilizando redirecciones 301 y 302.

            Rescrituras de URL con .htaccess

            Las reescrituras son similares a las redirecciones porque también apuntan una URL de destino a otra URL, pero esto es realmente convertido por el servidor web mientras maneja el tráfico. Piense que es como usar un lápiz y una goma de borrar para cambiar un nombre en lugar de usar un signo para apuntar al nuevo nombre.

            Las reescrituras de URL más comunes obligan a los sitios a tener URLs con o sin www en la URL.

            Forzar direcciones de sitios sin www

            Cuando añada esta información a su archivo .htaccess, cualquier visitante que escriba www.mysite.com será enviado a mysite.com.

Opciones +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^mysite\\ com RewriteRule (.*) http://mysite.com/$1 

Sustituya mysite.com por su dominio. Si tiene un dominio de nivel superior diferente (por ejemplo, .net o .org en lugar de .com), utilice ese dominio de nivel superior en lugar de .com/ No elimine el "\N" ya que es necesario para la sintaxis correcta.

Forzar direcciones de sitios WWW con .htaccess

Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^mysite.com RewriteRule ^(.*)$ http://www.mysite.com/$1 

Reemplace mysite.com con su dominio. Si tiene un dominio de nivel superior diferente (por ejemplo, .net o .org en lugar de .com), utilice ese dominio de nivel superior en lugar de ".com". Nota: No elimine el "\N" ya que es necesario para la sintaxis correcta.

Crear una página de error 404 personalizada con .htaccess

¿Qué es una página 404? Una página 404 es en realidad un mensaje de error que se muestra para las páginas que en realidad no existen en un sitio web. Una página 404 suele decir "Página no encontrada", pero también puede encontrar ejemplos de páginas 404 divertidas que se han personalizado para dar a los visitantes del sitio web una mejor experiencia.

Las páginas de error son una parte de cualquier sitio web. No importa qué, los visitantes del sitio web a veces se encontrarán con páginas de error. Si utiliza páginas de error personalizadas, puede convertir una página de error en una experiencia positiva con páginas 404 divertidas.

A continuación, mostraremos cómo añadir páginas de error personalizadas a sus sitios web utilizando .htaccess.

404 archivo htaccess

Antes de configurar sus páginas de error, tendrá que crear sus páginas de error. Puedes hacer esto como quieras: codificando a mano tu página, usando un constructor de sitios o de otra manera. Cuando haya terminado de crear su página de error, guarde el archivo para poder subirlo a su servidor.

Ahora, para configurar las páginas de error personalizadas, editará el archivo .htaccess de su sitio web.

  • 1. Antes de editar su archivo .htaccess, suba sus páginas de error personalizadas a su servidor. Puede hacerlo a través de SFTP. Coloque estos archivos en el directorio de contenido de su sitio web.
  • 2. Inicie sesión en su servidor a través de SFTP utilizando el programa FTP de su elección.
  • 3. Descargue el archivo .htaccess que corresponde al dominio en el que desea utilizar las páginas de error personalizadas.
  • 4. Abra este archivo en un editor de texto y añada esta información:
    # servir páginas de error personalizadas ErrorDocument 400 /errors/400.html
  • 5. Sustituye /errors/400.html por la ruta del archivo de una página de error que hayas subido. Este ejemplo tiene «400», para un error 400.
  • 6. Añada tantas líneas como necesite, cambiando el número de error y la ruta del archivo según sea necesario.
    ErrorDocument 500ErrorDocument 404ETC...
  • 7. Cuando haya terminado de añadir a su archivo .htaccess, guarde y salga del archivo. A continuación, súbelo de nuevo al directorio del que lo has sacado.
  • 8. Por último, prueba tu sitio web para asegurarte de que tus páginas de error funcionan.
    • Forzar HTTPS con .htaccess

      Si quieres asegurarte de que todos los visitantes del sitio web utilizan una conexión segura (SSL), puedes utilizar reglas .htaccess para redirigir el tráfico inseguro. Esto redirigirá http://mysite.com a https://mysite.com. Por supuesto, esto sólo funcionará si tienes un SSL instalado para tu dominio. Para ello, todas las cuentas de iThemes Hosting vienen con un Let’s Encrypt SSL gratuito.

      Para redirigir a todos los visitantes del sitio web a una conexión segura, añada esta regla al archivo .htaccess para el sitio web que desea redirigir:

#force SSL on entire siteRewriteEngine On RewriteCond %{HTTPS} !=onRewriteRule ^/?(.*) https://mysite.com/$1 

Tendrá que sustituir mysite.com con el dominio real de su sitio.

Protección con contraseña de los directorios con .htaccess

Durante el desarrollo, las pruebas y la creación de su sitio web, es posible que desee proteger con contraseña su sitio hasta que esté listo para su visualización pública. También puede tener páginas o directorios web específicos que le gustaría bloquear a usuarios específicos. El archivo .htaccess es una poderosa herramienta para ayudarle a lograr esto dentro del marco de iThemes Hosting. A continuación, vamos a caminar a través de la creación de una contraseña para proteger su sitio web, directorios y otros componentes de su sitio.

  • 1. En primer lugar, usted necesitará el acceso a la raíz del documento para el sitio. Aquí es donde alojará el archivo .htaccess y también el archivo .htpasswd para proteger su sitio con una contraseña. La ruta del archivo será algo así:
    /eed292b5.ithemeshosting.com/web/content/

    Se encontrará en la sección de información SFTP con el título de «Ruta» en su página de iThemes Hosting en Sync. Asegúrese de que está utilizando la ruta de información FTP y no la ruta UNIX.

    Archivo .htaccess - FTPInfo

    2. El archivo .htpasswd debe colocarse un directorio más arriba de la raíz del sitio y mantenerse separado del archivo .htaccess.

    Nota: Colocar el archivo .htpasswd por encima del contenido/carpeta es más seguro ya que no es accesible directamente a través de un navegador web.

  • 3. Tendrá que generar la sintaxis de los archivos .htaccess y .htpasswd. Puedes usar cualquier sitio que quieras pero para el propósito de este artículo, estoy usando http://tools.dynamicdrive.com.
  • 4. Una vez que sigas los pasos para crear los archivos, necesitarás colocar la sintaxis en tu servidor. Si ya tiene un archivo .htaccess en su sitio, puede anexar el archivo y añadir la sintaxis adicional.
  • 5. Sube el archivo .htpasswd a la ubicación que determinaste en el paso 2.
  • 6. Comprueba los permisos de los archivos para asegurarte de que los usuarios que quieres que tengan permisos podrán acceder a ellos.
    • Protección de hotlinks con .htaccess

      ¿Qué es el hotlinking? Cuando se crea un sitio web, los administradores suelen añadir imágenes y otros contenidos para que el sitio web se vea mejor y tenga algo de carácter. Para ello, se suele subir una imagen y añadirla a las páginas para que se vea. También es posible, aunque no se recomienda, utilizar imágenes que han sido subidas por otros sin necesidad de descargar y luego subir esa imagen a su sitio. Esto se llama hotlinking.

      Desgraciadamente, para las personas cuyas imágenes han sido enlazadas en caliente por otros sitios web, probablemente notarán un aumento en el uso de recursos de su servidor, ya que el nuevo sitio que utiliza esas imágenes estará utilizando los recursos de su servidor.

      Afortunadamente, puede evitar esto activando la protección contra hotlinks en su sitio. A continuación se explica cómo realizar el proceso de habilitar la protección de hotlinks en su sitio.

      • 1. En primer lugar, tendrá que iniciar sesión en su sitio a través de SFTP
      • 2. Ahora tendrá que descargar el archivo .htaccess de su carpeta /web/content
      • 3. Una vez que tenga el archivo .htaccess en su ordenador, querrá añadir las siguientes líneas a ese archivo:
        RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)midominio.com/.*$ RewriteRule \N-.
      • 4. Asegúrese de modificar midominio.com para que coincida con su dominio. Además, asegúrese de no modificar ningún otro código dentro del archivo .htaccess.
      • 5. Una vez que haya añadido las líneas anteriores, entonces querrá subir el archivo .htaccess de nuevo a su directorio /web/content
      • 6. Una vez subido, desconéctese del SFTP y compruebe su sitio para asegurarse de que no hay errores.

      Seguridad & Proteja su sitio web de WordPress

      Todo sitio web de WordPress necesita una sólida estrategia de copia de seguridad y protección. Con BackupBuddy, nuestro plugin de copias de seguridad para WordPress, y iThemes Security Pro, nuestro plugin de seguridad para WordPress, obtienes copias de seguridad y seguridad… además de la tranquilidad de saber que tu contenido está a salvo.

      ¿Qué es el archivo .htaccess?

      Comparte vía:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *