Seleccionar página

¿Qué es un archivo .htaccess?

El archivo .htaccess es un archivo de configuración para su uso en servidores web que ejecutan el software del servidor Web Apache. Generalmente se coloca en el directorio raiz de tu sitio web, se detecta el archivo .htaccess y es ejecutado por el software Apache Web Server. Estos archivos .htaccess se pueden utilizar para modificar la configuración del software de Apache Web Server, para habilitar / deshabilitar la funcionalidad y características adicionales que el software Apache Web Server tiene para ofrecer . Estas instalaciones incluyen la funcionalidad de redirección de base, por ejemplo, si se produce un error 404 archivo no encontrado , o para las funciones más avanzadas, como la protección de contraseña de contenido. Por eso es importante crear htaccess en tu web.

¿Cómo crear htaccess?

Para crear htaccess solo tienes que crear un archivo en el directorio raíz de tu sitio (para reglas generales) o en cualquier otra carpeta de tu sitio. No lleva ninguna extensión, se escribe así tal cual. Puedes crear el archivo con cualquier editor de texto de calidad como Notepad++ o Sublime.

Luego deberías subirlo a través de algún programa que use el protocolo FTP. Yo normalmente recomiendo Filezilla por su facilidad de uso y lo estable que es, además que es open source. También puedes subir el archivo a través del panel de administración de tu hosting, en mi caso uso CPanel.

filezilla

Filezilla Client

Una posible causa de error es si los permisos de archivo en el archivo .htaccess no se establecen correctamente. Esto sólo ocurre en algunos servidores, pero es preferible cambiar los permisos en el archivo a 755 en linux o ejecutable en Windows. Esto se puede hacer con cualquier programa de FTP o con comandos.

Redirecciones

Las redirecciones nos permiten dirigir los visitantes del sitio web de un documento dentro de su sitio web a otro. Esto es útil por ejemplo, si ha movido el contenido del sitio web y desea redirigir visitantes de vínculos antiguos a la nueva ubicación del contenido. Para configurar redirecciones, hay que crear htaccess incluyendo el siguiente texto:

Redirect http://www.yourdomain.com/old_dir/ http://www.yourdomain.com/new_dir/

Sustituye los datos correspondientes a tu dominio y carpeta y ya tienes la redirección en tu .htaccess.

Páginas de error

La creación de páginas de error personalizadas es muy útil, permitiendo mostrar a los visitantes del sitio web un mensaje de error, por ejemplo, si una URL de su sitio web no funciona. Esto evita el desagradable “404 Archivo no encontrado” de error y te permite mostrar un error más amable, explicando las posibles soluciones y guiando al visitante en tu sitio web, en vez de dejarlos frustrados y perdidos.
Para configurar documentos de error personalizados, modificamos nuestro archivo .htaccess incluyendo el siguiente texto:

ErrorDocument 401 /paginas_error/401.html

ErrorDocument 404 /paginas_error/404.html

ErrorDocument 500 /paginas_error/500.html

La primera línea indica al servidor Web Apache que debe mostrar el documento ubicado en /paginas_error/404.html (bajo el dominio correspondiente) siempre que se produce un error 404(archivo no encontrado). En este ejemplo, se ha supuesto que se ha creado el documento de error y se llamó “404.html” y que se ha colocado en un directorio llamado “paginas_error” bajo su nombre de dominio. Por ejemplo, http://www.yourdomain.com/paginas_error/404.html.

Protección con contraseña

Los sistemas de protección con contraseña y autenticación ofrecidos por el servidor Web Apache son probablemente el uso más importante de los archivos .htaccess. Muy fácil, podemos proteger con contraseña un directorio (o varios) de un sitio web que requiere un nombre de usuario y contraseña para acceder. El procedimiento de conexión para estos directorios seguros es manejado automáticamente por el navegador web utilizando una interfaz de entrada emergente. Las contraseñas también se cifran utilizando uno de los mejores métodos de cifrado disponibles que aseguran credenciales de acceso.

Para empezar, decidimos qué directorio se desea proteger con contraseña (tener en cuenta que todos los archivos y subdirectorios dentro del directorio serán protegidos con contraseña), a continuación, modificar el archivo .htaccess incluyendo el siguiente texto:

AuthName “Área privada de Juanma”

AuthUserFile /home/juanma/.htpasswd

AuthType Basic

require valid-user

El archivo de las contraseñas contendría algo similar al texto siguiente :

username:encryptedpassword juanma:dCF8lam/MXJg1

La primera línea le dice al servidor Web Apache el directorio seguro que se llama “Área privada de Juanma”, éste será mostrado cuando aparezca el mensaje de login emergente. La segunda línea especifica la ubicación del archivo de contraseñas. La tercera línea especifica el tipo de autenticación, en este ejemplo estamos usando “Básico” porque estamos usando la autenticación HTTP básica y, finalmente, la cuarta línea especifica que se requiere credenciales de acceso válidas, esta línea también se puede utilizar para especificar un nombre de usuario específico, por ejemplo. Se podría utilizar éste si tuviera contraseña protegiendo un área de administración, en lugar de crear un directorio protegido con contraseña público.

La ubicación del archivo de contraseñas puede estar en cualquier lugar en su servidor web, siempre que en AuthUserFile definamos la ruta absoluta del archivo .htpasswd. Usamos el nombre de archivo “.htpasswd” porque el servidor reconocerá el nombre de archivo y lo esconde de cualquier visitante ingrato. Nota, algunos servidores requieren que el archivo de contraseñas se encuentre en el mismo directorio que el archivo .htaccess. También es importante volver a recalcar que hay que establecer una ruta completa del servidor para la ubicación del archivo de contraseñas, pues una ruta relativa o cualquier variación de una URL no funcionará.

Establecer página de inicio

El comando DirectoryIndex te permite especificar una página por defecto para mostrar cuando se accede a un directorio. Por ejemplo, si un visitante solicita un directorio en su sitio web, se puede especificar el archivo a cargar cuando se accede al directorio. Por ejemplo, para mostrar un archivo “index.html” en lugar de mostrar los listados de directorios o cargar un archivo “index.php” en lugar de un archivo “index.html”.

Para configurar un DirectoryIndex, modificar el archivo .htaccess incluyendo el siguiente texto:

DirectoryIndex home.html

Prevenir el acceso a los archivos php

Si usted tiene un directorio que contiene archivos php , seguramente no desearás que se accedan directamente desde el navegador. Afortunadamente hay una manera segura de desactivar el directorio utilizando mod_rewrite .

Para permitir esto, modificar el archivo .htaccess incluyendo el texto siguiente :

## Activar Mod Rewrite, solo requerido una vez en cada .htaccess RewriteEngine On RewriteBase / ## Incluir directorio RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /includes/ .*$ [NC] ## Incluir extensiones php RewriteCond %{REQUEST_FILENAME} ^.+.php$ ## Prohibir acceso RewriteRule .* – [F,NS,L]

En este caso impedimos el acceso a todos los archivos php dentro de la carpeta /includes (típico en instalaciones WordPress).

Prevenir el acceso al archivo php.ini

Si corres el riesgo de que alguien pueda acceder vía navegador a tus archivos php.ini o php.cgi, puedes limitar dicho acceso haciendo uso del .htaccess.

Para permitir o denegar esto, modificar el archivo .htaccess incluyendo el texto siguiente :

<FilesMatch “^php5?.(ini|cgi)$”> Order Deny,Allow Deny from All Allow from env=REDIRECT_STATUS </FilesMatch>

Denegar acceso por IP

Las funciones de bloqueo de los visitantes que ofrece el servidor Web Apache nos permiten denegar el acceso a visitantes específicos, o permitirle el acceso a los mismos. Esto es muy útil para el bloqueo de los visitantes no deseados , o sólo para permitir que el sitio web dá acceso de propietario a ciertas secciones del sitio web, como por ejemplo un área de administración.

Para configurar dichas restricciones de bloqueo por IP, modificamos el .htaccess incluyendo el siguiente texto:

order allow,deny deny from 112.13.123.56 deny from 123.45.6.11 allow from all

La orden allow permite que dicha IP pueda acceder a nuestra web y la orden deny deniega el acceso. A los visitantes sin permiso les aparecerá un mensaje de “error 403 forbidden”.

Forzar la caché de nuestro sitio

Con esta utilidad no vamos a mejorar directamente la velocidad de carga del sitio web, pero sí va a cargar más rápido cuando el mismo usuario nos visite de nuevo, al enviar un status 304 cuando se pidan elementos que no han sido modificados. Podemos cambiar la frecuencia de caché cambiando el número de segundos (en este ejemplo se dá una vez al día):

FileETag MTime Size ExpiresActive on ExpiresDefault “access plus 86400 seconds”

Listado de directorios

La autorización o denegación de los listados de directorios puede ser muy útil si, por ejemplo, tiene un directorio que contiene ficheros importantes o para impedir la visualización de sus directorios de imágenes. Alternativamente, también puede ser útil para permitir los listados de directorios si no están disponibles en el servidor, por ejemplo, si desea mostrar los listados de directorios de los archivos importantes “.rar”.

Para configurar los listados de directorios, modifica el .htaccess incluyendo el siguiente texto:

IndexIgnore *.zip *.jpg *.gif Options +Indexes

Impedir que otros sitios web enlacen a tus imágenes

Para impedir que cualquier visitante pueda tomar “prestada” una de las imágenes de tu web puedes añadir las siguientes líneas a tu archivo .htaccess, dando solo acceso a nosotros mismos:

RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?midominio.com [NC] RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L]

Cambiar valores de configuración de Apache

Los ficheros .htaccess permiten cambiar ciertos parámetros de la configuración de Apache, si está habilitada esta opción en el servidor.
Puedes cambiar estos parámetros usando “php_value” seguida del nombre de la directiva y el valor que le asignamos. Modificamos el .htaccess de la siguiente manera:

php_value max_execution_time 100 php_value post_max_size 20M php_value upload_max_filesize30M

La primera línea configura el tiempo de ejecución del script, la segunda línea modifica el tamaño máximo de los datos enviados por POST y la última línea establece el tamaño máximo de un archivo subido desde nuestro servidor.


Estas son las utilidades más comunes del fichero .htaccess aunque hay muchas más. Así que si trabajas bajo un servidor Apache no lo dudes más, a crear htaccess y optimizar la funcionalidad de tu página web. ¿Conoces alguna forma adicional para aprovechar este archivo?. Escribe un comentario y compártelo con nosotros. Si te ha gustado este artículo… ¡dale a compartir!

 

Título
Crear htaccess para optimizar tu web
Título
Crear htaccess para optimizar tu web
Descripción
El archivo .htaccess debe ser uno de los ficheros que compongan tu web. Vamos a explicar como crear htaccess para optimizar el comportamiento de tu página.
Autor

Pin It on Pinterest

Share This