Este documento explica cómo utilizar archivos .htaccess para personalizar la configuración de Apache en un sitio web. Los archivos .htaccess permiten controlar el acceso, redireccionar URLs, crear URLs amigables y proteger carpetas con contraseña. Se proporcionan ejemplos de código .htaccess para estas funciones comunes.
1. Complethost Soluciones Internet
" Complethost posiblemente la mejor empresa de hosting en Valencia"
Cómo utilizar .htaccess
¿Qué es un .htaccess?
El .htaccess (Acceso de Hiper-Texto) es el nombre por defecto del archivo de configuración de directorios
de Apache.
Se utiliza para personalizar la configuración de directivas y parámetros definidos en el archivo de
configuración principal del alojamiento.
Tiene una gran variedad de usos y utilidades que le pueden resultar útiles en su web. En el siguiente tutorial
le mostramos algunas de las funciones más utilizadas por el .htaccess.
Cómo crear y dónde colocar un fichero .htaccess?
Para crear un fichero .htaccess, abra el bloc de notas e introduzca el código necesario. Guarde el fichero
como fichero de texto (.txt), por ejemplo "fichero_htaccess.txt", y súbalo por FTP en la carpeta donde tiene
que utilizarse.
Una vez en el servidor, modifique el nombre del fichero "fichero_htaccess.txt" por el de ".htaccess".
El .htaccess debe colocarse en el interior de la carpeta donde queremos que tenga efecto.
Por ejemplo, si queremos proteger con contraseña una carpeta llamada "privado", colocaremos el .htaccess
dentro de la carpeta "privado".
Utilidades comunes del .htaccess
El .htaccess tiene un gran número de utilidades, en este tutorial le mostramos algunas de las utilidades más
comunes y cómo debe configurarse en el fichero .htaccess
Control de acceso a carpetas
Un uso muy común del .htaccess es impedir el acceso a algunas carpetas.
Podemos deshabilitar por completo el acceso a una carpeta:
#deny all access
deny from all
Permitir el acceso desde una IP específica:
1
#deny all access
deny from all
allow from 212.267.98.14
Complethost Soluciones Internet | www.complethost.es
2. Complethost Soluciones Internet
" Complethost posiblemente la mejor empresa de hosting en Valencia"
Permitir el acceso a un rango específico de IPs (forzado mediante la máscara de red):
allow from 192.168.0.0/24
Bloquear el acceso a un archivo específico:
<Files archivo.html>
Order allow,deny
Deny from all
Listado de carpetas
También podemos utilizar el .htaccess para mostrar el contenido de una carpeta en la estructura de
directorios.
Options +Indexes
Listado de carpetas, pero no queremos que se nos muestren los iconos por defecto:
Options +Indexes
IndexOptions -FancyIndexing
También se podría querer evitar el listado de carpetas:
IndexIgnore *
Redirigir web
Si al acceder a su alojamiento, desea redirigir la página a otra:
RewriteEngine On
RewriteRule ^(.*)$ http://www.webaredirigir.com/$1 [R=301,L]
Redireccionar el tráfico web
Si lo que deseamos es que si alguien intenta acceder a un archivo en concreto le redirija a otro fichero,
podemos utilizar la directiva Redirect:
Redirect /fichero.php http://sudominio.com/otros/nuevofichero.php
Evitar el hotlinking
2 El hotlinking consiste en realizar un enlace directo a ficheros, generalmente imágenes y vídeos, que
pertenecen a otra web.
Esta práctica consume la transferencia del sitio original de la imagen.
Complethost Soluciones Internet | www.complethost.es
3. Complethost Soluciones Internet
" Complethost posiblemente la mejor empresa de hosting en Valencia"
Para evitar que nos "roben" ancho de banda podemos configurar el .htaccess para impedir el hotlinking.
RewriteEngine On
RewriteCond % !^http://(.+.)?midominio.com/ [NC]
RewriteCond % !^$
RewriteRule .*.(jpe?g|gif|bmp|png)$ [L]
En la última línea ponemos las extensiones de los ficheros que queremos impedir que los enlacen.
Crear URL amigables
Una URL amigable consiste en disfrazar una URL llena de parámetros para que quede más elegante y para
ayudar también a tener una mejor posición de la página en los buscadores.
Por ejemplo, carpeta/fichero.php?id=120&idioma=es es una URL no amigable, por lo que la
transformaremos en carpeta/fichero/120/es que es más elegante y ayuda al posicionamiento en los
buscadores.
Es una URL amigable. Con el fichero .htaccess podemos realizar este disfraz para la URL.
Tenemos una carpeta en nuestra web que tiene un fichero al que se le pasan parámetros.
sudominio.com/carpeta/fichero.php?id=25
Entonces, dentro de esta carpeta crearemos un .htaccess con el siguiente código:
Options +FollowSymLinks
RewriteEngine on
RewriteRule carpeta/(.*)/(.*).php$ /carpeta/fichero.php?id=$1
En la última línea es donde se realiza el cambio.
(.*) Será el parámetro que le pasaremos, $1.
(.*).php$ será el nombre del fichero para "decorar" la URL.
Una vez creado el .htaccess, en el enlace de nuestra web pondremos:
<a href="carpeta/25/nombre-del-fichero.php"> Enlace al fichero 25</a>
Por lo tanto, carpeta/25/nombre-del-fichero.php será lo mismo que /carpeta/fichero.php?id=25.
Proteger carpetas con .htpasswd
3 Cuando queremos proteger una carpeta o ficheros con un usuario y contraseña, podemos utilizar, junto el
.htaccess, un .htpasswd.
Se necesita crear un fichero .htaccess y un .htpasswd.
Complethost Soluciones Internet | www.complethost.es
4. Complethost Soluciones Internet
" Complethost posiblemente la mejor empresa de hosting en Valencia"
En el fichero .htpasswd introducimos lo siguiente:
Usuario:Jy.Wu9Uw3b99c
Donde "usuario" es el nombre del usuario que es necesario para validarse y Jy.Wu9Uw3b99c es la
contraseña encriptada.
Para crear contraseñas encriptadas puede acceder al siguiente enlace donde puede crear el código que
necesita en su .htpasswd.
http://www.complethost.es/webapps/
Una vez tenga el .htpasswd con el código correcto, se debe crear un fichero .htaccess con el siguiente
código:
AuthUserFile /ruta/absoluta/hacia/.htpasswd
AuthName "Necesita validarse"
AuthType Basic
require user usuario
Donde en AuthUserFile es la ruta entera de donde se encuentra el .htpasswd, AuthName es el mensaje que
aparecerá en la ventana donde le solicita el usuario y la contraseña, y require user es el nombre del usuario a
introducir.
Más información y tutoriales en complethost.es
4
Complethost Soluciones Internet | www.complethost.es