¿Que es eso del .htaccess?
Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor Web Apache que nos permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache.
Si disponemos de un servidor con apache, tenemos en nuestro poder una gran herramienta que es el fichero .htaccess. Si no lo vemos en nuestro alojamiento, puede ser que sea porque el fichero empieza por un “.” porque es oculto o también puede ser, que no este creado y lo tengamos que crear nosotros mismos. Hoy vamos a ver algunas de las directivas que podemos usar en este fichero:
- Denegar accesos a nuestro sitio
order allow,deny
deny from 128.23.45.XX
allow from all
Es muy importante, el orden de allow y deny. Tiene que estar primero la opción más restrictiva. En el ejemplo, allow es para todos y deny es sólo para una IP y un dominio, así que el “order” será allow y deny
También hay que tener en cuenta que un simple espacio entre allow,deny nos dará un error 500.
Como os podéis imaginar se puede usar el ejemplo al revés y denegar el acceso a todos menos a nosotros (nuestra IP). Recordad el “order”, primero el más restrictivo.
order deny,allow
deny from all
allow from 80.58.XX.XX
- Modificar nuestra página por defecto (Directory Index ).
DirectoryIndex inicio.php
- Redireccionar nuestro sitio web.
Redirect /1.html /2.html
AddType video/x-flv .flv
A veces que en lugar de añadir un tipo mime lo que queremos es modificarlo para que en lugar de “verse” en el navegador, se lo descargue el usuario. Podemos forzarlo de esta forma.
AddType application/octet-stream .avi
AddType application/octet-stream .flv
AddType application/octet-stream .mp3
- Prevenir acceso a uno o varios archivos.
Order Allow,Deny
Deny from all
- Evitar listar el contenido de un directorio sin Index.
Options All -Indexes
Nos devolverá un error “Forbidden” con un 404 adicional
- Permitir listar el contenido de un directorio sin Index.
Options All +Indexes
- Evitar el listado de archivos.
IndexIgnore *
De esta forma no listará ningún fichero. Nos mostrará el típico mensaje “Index of” pero no llega a mostrar ningún fichero y carpeta.
Si no queremos ser tan restrictivos, podemos utilizarlo sólo para algunos ficheros.
IndexIgnore *.sh
De esta forma mostrará todos los ficheros menos los sh
- Cambiar el modo de ejecución de los ficheros.
A veces nos interesa que una determinada extensión actué como otra, por ejemplo, que la extensión php6 se ejecute como un php. Para ello debemos añadir el tipo.
AddType application/x-httpd-php .php6
para usar bien este comando, hay que saber el “Type” correcto.
- Personalizar nuestras páginas de error.
ErrorDocument 400 400.html
ErrorDocument 401 401.html
ErrorDocument 403 403.html
ErrorDocument 404 404.html
ErrorDocument 500 500.html
- Hacer una redirección 301.
redirect 301 / http://www.dominio.com/
- Hacer una redirección “permanent”.
Redirect permanent / http://www.dominio.es/
- Crear reglas del mod_rewrite.
Vamos a ver un ejemplo de como eliminar las ‘www’
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.tureceta\.es$ [NC]
RewriteRule ^(.*)$ http://tureceta.es/$1 [R=301,L]
También podemos redirigir a nuestros visitantes a una página en construcción mientras hacemos un cambio y nosotros seguir accediendo con normalidad.
Redireccionar visitantes a una dirección alternativa, menos a ti (modifica el IP):
ErrorDocument 403 /2.html
Order deny,allow
Deny from all
Allow from 80.58.XXX.XXX
Estos son algunos de los ejemplos de las múltiples posibilidades que nos da este fichero. Hay que señalar que cualquier errata a la hora de usar un comando dará un error. Es decir cualquier palabra que no interprete como un comando, nos devolverá un error 500.
Por último tened en cuenta, que el .htacces afecta al directorio donde se encuentre y por debajo, nunca por encima. Si tenemos este árbel de directorios 1/2/3/4, un .htaccess en la carpeta 2 afectaría a la propia carpeta 2 y por debajo la 3 y 4.
Entradas relacionadas
- No hay temas relacionados