Uso Eficaz de .htaccess

El archivo .htaccess es un documento de ASCII text que se puede posicionar en cualquier directorio de tu sitio.  Se usa para controlar y proteger el acceso a tus archivos y directorios en tu servidor.  Tambien se puede personalizar algunas otras  operaciones de tu servidor, dependiendo en las facilidades que tu empresa de Hosting ponga a tu disponsicion. 
El archivo de .htaccess se puede crear usando cualquier procesador de texto pero se tiene que almacenar como SOLO texto, por ejemplo ".htaccess.txt".  Sin olvidar el punto al principio, ".", repito, asi ".htaccess.txt"!  Debes usar software de FTP en ASCII mode para subirlo a tu servidor o para editar tu archivo de .htaccess.  En muchas ocasiones, si no sabes hacerlo con FTP, puedes pedir ayuda de tu servicio de Hosting para que te coloquen este archivo en los foros donde lo deseas o lo necesitas. 

Para los ejemplos que te doy aqui, debes colocar tu archivo .htaccess en tu Root Directory... tu Directorio de Raiz!  Como habemos dicho ya, existen una variedad de operaciones con que puedes controlar usando .htaccess.  Alguna de las mas utiles se lo explico aqui.

!.  Personalizar Mensajes de Error

Aadir lo siguiente a tu archivo de htaccess:

ErrorDocument 404 /notfound.html

Despues de "ErrorDocument", debes especificar el codigo de error, el "error code", entonces un espacio y el "path" y "filename", el nombre de tu archivo de .html que quieres visualizar una vez que el error especificado sea generado.  Cada "error code" especifico esta detallado mas abajo, con los codigos recomendados de usar en tu archivo .htaccess en "bold" (negrita) :

200 OK
206 Partial content
301 Document moved permanently
302 Document found elsewhere
304 Not modified since last retrieval
400 Bad request
403 Access forbidden
404 Document not found
408 Request timeout
500 Internal server error
501 Request type not supported

Utilizando los codigos encima de tu seccion de error del .htaccess tu archivo debe mirar como esto:

ErrorDocument 301 /notfound.html
ErrorDocument 400 /notfound.html
ErrorDocument 403 /notfound.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /notfound.html
ErrorDocument 501 /notfound.html

2.  Redireccion a un Foro Diferente

Aadir lo siguiente a tu archivo .htaccess:

RewriteEngine on
RewriteRule ^/oldfolder(.*)$ /newfolder/$1 [R]

Esto redireccionara el usuario de /oldfolder/anyfile.html a /newfolder/anyfile.html, cuando el archivo .htaccess ha sido dado de alta en tu directorio "/oldfolder" que sin hacerse, se hubiera mantenido vacido.

3.  Negar Acceso a Usuarios

Aadir lo siguiente a tu archivo .htaccess:

<Limit GET>
order allow,deny
deny from 000.00.00.
deny from 000.000.000.000
allow from all
</Limit>

Esto es un ejemplo de un archivo de .htaccess que bloquea acceso a tu sitio a cualquiera que intenta entrar procedente de cualquier direccion IP que empieze con 000.00.00 y de la direccion IP especifica 000.000.000.000.  Especificando solo parte de una direccion IP y terminando una direccion IP parcial con un punto, todas sub-direcciones que vienen de ese bloque de direcciones IP seran bloqueadas.  Debes usar las direcciones IP para bloquear acceso.  El uso de nombres de dominios no esta suportado

4.  Redireccionar por Nombre de Maquina

Aadir lo siguiente a tu archivo .htaccess:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
# Rewrite Rule for machine.domain-name.net
RewriteCond %{HTTP_HOST} machine.domain-name.net $
RewriteCond %{REQUEST_URI} !machine/
RewriteRule ^(.*)$ machine/$1

Esto redirecciona pedidos por el nombre de maquina machine.domain-name.net a el directorio machine en el sitio domain-name.net.

4.  Default Home Page Diferente

Aadir lo siguiente a tu archivo .htaccess:

DirectoryIndex filename.html

Entonces, un pedido para http://domain-name.com/ dara  http://domain-name.com/filename.html si existe, o listara el directorio si no existiera.

5.  Para lanzar automaticamente un cgi script

Aadir lo siguiente a tu archivo .htaccess:

DirectoryIndex /cgi-local/index.pl

Esto causa que CGI script /cgi-bin/index.pl se ejecute.

Si posicionas tu archivo .htaccess que contiene el DirectoryIndex especificado en el "root directory" de tu sitio, aplicara para todos los sub-directories en tu sitio.

6.  Prevencion de "Hot Linking" Protege tus Imagenes

Aadir lo siguiente a tu archivo .htaccess:

# Rewrite Rule for images
RewriteCond %{HTTP_REFERER} <URL de la pagina intentando acceso a tu domain>
RewriteRule ^(.*)$ http://<el mismo URL que arriba>

Usted reemplazaria el <URL de la pagina intentando acceso a tu domain> aqui arriba, con el nombre del domain y path de la pagina que se refiere a su dominio. Por ejemplo: www.sudomain.com/usuarios/mipagina/

El directivo RewriteCond declara que si el {HTTP_REFERER} es lo mismo que el URL que sigue, entonces usa RewriteRule directivo. El RewriteRule directivo hace redireccionar cualquier referencia atras a la pagina de web referiendo.

Usando lo escrito aqui, puedes estar seguro de publicar tus sitios en el internet con tranquilidad, sabiendo que no te van a robar ancho de banda (bandwidth) via "hotlinking"!  Tambien, que no perderas visitas por paginas no encontrada - 'not found'.

Articulo Escrito por Cybermacho