Comprendiendo .htaccess Imprimir

  • 0

En este tutorial podrá encontrar información acerca del archivo .htaccess y el poder que tiene para mejorar su sitio web. Soporta el uso de archivos .htaccess, sin embargo, el cliente es responsable por lo que está en dicho archivo y los cambios que genera en el sitio web.

Crear un archivo .htaccess

Puede crear el archivo .htaccess en su computador local o directamente en el servidor.

En su computador local

Windows: Puede usar el programa Bloc de notas y guardar el archivo con el nombre .htaccess.

Mac OS X: Use el programa TextEdit para guardar el archivo como .htaccess.
Nota: Si usted guarda el archivo como .htaccess, se ocultará y no será capaz de verlo en el Finder.

Luego puede usar su cliente FTP favorito para cargar el archivo al servidor. El archivo .htaccess debe estar en la carpeta donde está ubicado su sitio, generalmente el directorio es public_html.

En el servidor

  1. Ingrese en su cuenta de cPanel usando las credenciales correspondientes.

  2. Haga clic en el ícono Administrador de archivos, ubicado en la sección de "Archivos".

  3. Desde el administrador de archivos, seleccione Configuración y marque la casilla "Mostrar archivos ocultos (dotfiles)". Luego haga clic en Save.

  4. Navegue hasta la carpeta que desea abrir (donde se encuentra su sitio web), generalmente public_html/www.

  5. Haga clic en el ícono + Archivo para crear un archivo nuevo, use el nombre .htaccess y guarde el archivo.

Archivos alternativos para página de inicio

Puede que usted no siempre quiera usar su archivo index.htm o index.html como el archivo de página de inicio en dicho directorio; por ejemplo: si usted está usando archivos PHP en su sitio, quizás quiera que index.php sea el archivo de inicio para un directorio. Aunque tampoco está limitado a archivos de nombre index. ¡Usando .htaccess usted puede establecer un archivo hola.bla como su archivo de inicio si así lo quisiera!

Los archivos index son ingresados en una lista. El servidor funcionará comprobando cada archivo de izquierda a derecha para ver si existe, y cargará el primer archivo válido. Si ninguno de los archivos existe, se mostrará una lista de los archivos en el directorio (a menos que deshabilite esta opción, lo cual explicamos más adelante en este tutorial).

DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm

Páginas de error personalizadas

Puede personalizar sus propias páginas de error (por ejemplo, si no se encuentra un archivo), en lugar de usar las páginas de error predeterminadas o no mostrar página de error alguna. Esto hará que su sitio web se mire mucho más profesional.

Puede usar estas páginas personalizadas para cualquier error siempre y cuando conozca el número relacionado al error (por ejemplo: 404 para el error de "Página no encontrada"). Para hacerlo simplemente ingrese lo siguiente en su archivo .htaccess:

ErrorDocument númeroDelError /archivo.html

Por ejemplo, si tuviéramos el archivo PáginaNoEncontrada.html en el directorio raíz de nuestro sitio y quisiéramos usarlo para un error 404, usaríamos:

ErrorDocument 404 /PáginaNoEncontrada.html

Si la página de error no está en el directorio raíz de su sitio, puede especificar la ruta a este archivo:

ErrorDocument 500 /páginasdeerror/500.html

Estos son algunos de los errores más comunes:

401 - Authorization Required # Se requiere autorización
400 - Bad request # Solicitud incorrecta
403 - Forbidden # Prohibido
500 - Internal Server Error # Error interno del servidor
404 - Wrong page # Página errónea

Dejar de mostrar un índice del directorio

En ocasiones, por una razón u otra, no tendrá un archivo index en su directorio. Esto significa que si alguien escribe el nombre del directorio en su navegador, se mostrará una lista de todos los archivos disponibles en el directorio. Esto constituye un riesgo de seguridad para su sitio.

Para prevenir este problema (sin tener que crear una gran cantidad de archivos index), puede ingresar un comando en su archivo .htaccess que evita que se muestre una lista de los archivos en el directorio:

# desactivar la exploración de directorios
        
        Options ExecCGI Includes IncludesNOEXEC SymLinksIfOwnerMatch -Indexes
        
        # activar la exploración de directorios
        Options All +Indexes

Permitir o denegar ciertas direcciones IP

Puede permitir que solo ciertas personas con direcciones IP específicas accedan a su sitio (por ejemplo: solo permitir que las personas que usen una red en particular acceden a un directorio específico), o si lo desea, prohibir el acceso a ciertas direcciones IP (por ejemplo: mantener a miembros perturbadores lejos de sus foros de discusión). Esto solo funcionará si usted conoce las direcciones IP que quiere rechazar.

Es importante que tenga en cuenta que la mayoría de los proveedores de Internet usan direcciones IP dinámicas, así que esta quizás no sea la manera más óptima de limitar o conceder acceso.

Bloquear una dirección IP

# Lista de rechazo
        
        order allow,deny
        deny from 123.45.67.89 # indique una dirección específica
        deny from 123.45.67.89/30 # indique un rango específico de subred
        deny from 123.123.* # especificar un comodín de dirección ip
        allow from all

Autorizar una dirección IP

# Lista de direcciones permitidas
        
        order allow,deny
        allow from 123.123.123.123 # indique una dirección específica
        allow from 123.123.123.123/30 # indique un rango específico de subred
        allow from 123.123.* # especificar un comodín de dirección ip
        deny from all

Nota: esto también permitirá que los scripts usen los archivos en el directorio.

Redirección

A continuación se explican algunas alternativas para redirigir enlaces en su sitio. Adicionalmente, para configurar una redirección en su sitio web puede ingresar en su cPanel y usar la opción Redirige bajo la sección "Dominios".

Redirigir desde un archivo específico a un nuevo archivo

Ejemplo:

Redirect /redirigir_desde.html https://www.nuevositio.com/carpeta/redirigir_hacia.html

En el ejemplo de arriba, un archivo en el directorio root, llamado redirigir_desde.html, es redirigido al URL https://www.nuevositio.com/carpeta/redirigir_hacia.html. Si el archivo antiguo estuviese en un subdirectorio, entonces podría usar:

/subdirectorio/redirigir_desde.html

Redirigir desde una carpeta a otra / Redirección comodín

Redirect /redirigir_desde https://www.nuevositio.com/redirigir_hacia

Ahora, cualquier solicitud que haga a su sitio bajo el directorio redirigir_desde será redirigida al nuevo sitio, con la información adicional agregada en el URL, por ejemplo, si alguien escribiera:

https://www.ejemplo.com/redirigir_desde/imagenes/imagen.gif

Sería redirigido a la siguiente dirección:

https://www.nuevositio.com/redirigir_hacia/imagenes/imagen.gif

Redirección (Reescritura URL) con Joomla

Para habilitar la reescritura URL en Joomla, deberá copiar y pegar el siguiente código en su archivo .htaccess:

        # Por seguridad, "Option followsymlinks" no puede ser anulado.
        # Options +FollowSymLinks
        Options +SymLinksIfOwnerMatch

Protección con contraseña

Uno de los tantos usos del archivo .htaccess es la capacidad de proteger directorios de un sitio web a través de contraseñas de forma segura.

También puede ingresar a cPanel y usar la opción Privacidad del directorio bajo la sección "Archivos"; no obstante, la explicación de este método se escapa del alcance de esta guía.

Agregar código a su archivo .htaccess

Agregar la protección con contraseña a un directorio usando .htaccess tiene dos etapas. La primera parte es agregar las líneas adecuadas en su archivo .htaccess para el directorio que quiere proteger. Todo el contenido que esté dentro del directorio estará protegido por contraseña:

AuthName "Nombre de la sección"
        AuthType Basic
        AuthUserFile /home/nombredeusuario/.htpasswds
        Require valid-user 

Hay varios extractos de las líneas arriba que deberá cambiar para su sitio. Debe remplazar "Nombre de la sección" con el nombre de la parte de su sitio que usted está protegiendo, por ejemplo: "Área de miembros de la compañía".

El directorio /home/nombredeusuario/.htpasswds debe ser cambiado para reflejar el archivo .htpasswds (que explicaremos luego) en el directorio principal completo del servidor. Si no conoce el directorio principal de su servidor, puede observar la sección Statistics de su cPanel.

Crear el archivo .htpasswds

La protección con contraseñas de un directorio toma un poco más de trabajo que otras funciones del archivo .htaccess debido a que debe crear un archivo que contenga los nombres de usuario y contraseñas a los cuales se le permitirá el acceso al sitio. Esta información debe estar en un archivo que, por defecto, debería llamarse .htpasswd. Este archivo puede situarse en cualquier lugar dentro de su sitio web (debido a que las contraseñas están cifradas), pero se recomienda almacenarlo fuera del directorio raíz de su sitio web (en su directorio /home) de modo que sea imposible acceder desde la web.

Modificar el archivo .htpasswds

Una vez que haya creado su archivo .htpasswd (puede hacer esto usando un editor estándar, o crearlo desde el administrador de archivos de cPanel) debe modificarlo para ingresar los nombres de usuario y contraseñas que accederán al sitio. Debe hacerlo de la siguiente forma:

usuario:contraseña

Donde contraseña representa el formato encriptado de su contraseña. El sitio web KxS presta un servicio que le permite ingresar un nombre de usuario y contraseña y le dará la salida en el formato correcto que debe usar en su archivo .htpasswd.

Para agregar varios usuarios, simplemente sepárelos con una línea de por medio en su archivo .htpasswd usando el mismo formato.

Acceder al sitio

Cuando intenta acceder a su sitio que está protegido a través de .htaccess, su navegador le mostrará un cuadro de diálogo emergente, pidiéndole el nombre de usuario y contraseña. De forma alternativa, puede acceder escribiendo el usuario y contraseña (sin encriptar) en la barra de navegación:

https://usuario:contraseña@www.sitioweb.com/directorio/

Sin embargo, es más recomendable acceder usando el primer método.

Recursos adicionales

Puede consultar los siguientes recursos en busca de información adicional con respecto a este tema. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos dar fe de la actualidad o precisión de los contenidos externos.

  • Manual de la documentación oficial de Apache que explica el concepto y uso de los archivos .htaccess.


¿Fue útil la respuesta?

« Atrás