Soluciones .htaccess

El archivo .htaccess es usado por el servidor apache para las configuraciones del directorio, sin tener la necesidad de modificar el archivo de configuración del servidor. Por ejemplo, WordPress lo usa para generar los permalink, con formatos determinados. Ahora algunas líneas que siendo agregadas al archivo .htaccess en el raíz de nuestro sitio, nos pueden solucionar muchos problemas.

Bloquear usuario por dirección IP

Order Deny,Allow
Deny from 24.121.202.23

Es muy sencillo, solo agregar tantas lineas de la forma DENY FROM IP para bloquearles el acceso.

Personalizar mensajes de Error

Con la directiva ErrorDocument, podemos hacer que los errores que se le pueden aparecer al usuario, se vean como nosotros queramos, o simplemente por ejemplo al no encontrar una página, redireccionar al usuario al home.

ErrorDocument 404 http://www.elsitio.com/errores/404.html
ErrorDocument 403 http://www.elsitio.com/errores/403.html
ErrorDocument 500
http://www.elsitio.com/errores/500.html

Redirección durante actualizaciones o cambios

Al momento de actualizar o hacer modificaciones, no queremos que los usuarios, experimenten una mala experiencia o vean errores. Entonces, redireccionamos momentáneamente el sitio, a un mensaje, para que vuelvan luego.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/actualizacion.html$
RewriteCond %{REMOTE_HOST} !^26\.120\.20\.32
RewriteRule $ http://www.elsitio.com/actualizacion.html [R=302,L]

Ocultar la lista de Directorio

No queremos que nuestro visitantes, al ingresar a un directorio, y no exista el archivo index, vean todos los archivos que tenemos, entonces, podemos ocultar el listado que arma el navegador con:

Options -Indexes

Evitar el Hotlink

Corremos el riesgo de que incluyan nuestras imágenes en otros sitios, quitándonos tráfico a nosotros sin beneficio alguno, esto es el hotlink básicamente. Si sacamos cuentas, teniendo en cuenta una imagen pequeña, multiplicada por la cantidad de visitantes que ingresan al sitio que embebió nuestra imagen, puede ser más tráfico del que podemos soportar, sobre todo, si quien incluye nuestras fotos, son grandes sitios con mucho tráfico como Google, digg, etc.

De la siguiente manera, bloqueamos el hotlink de los formatos de imágenes:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} \.(png|gif|jpeg|JPG|jpg)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !tusitio\.com [NC]
RewriteCond %{HTTP_REFERER} !sitiopermitido\.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteRule \.(png|gif|jpeg|JPG|jpg)$ http://www.tusitio.com/foto.jjjj [NC,L]

Tener en cuenta que foto.jjj es la foto que queremos que vean los otros dominios, no puede ser del formato de los que negamos antes, puede no estar esta línea.

Activar o Desactivar Register Global

Incluir una línea con el siguiente contenido, dependiendo de si queremos activarlo o desactivarlo:

php_flag register_globals on

php_flag register_globals off