Bloquear visitas procedentes de un sitio web (Referrer Block)

Suele pasar a veces que hay links de spammers hacia tu web que no has puesto tu o vienen de sitios webs de sospechosa procedencia y no nos interesan esas visitas. Pueden ser sitios de spam, foros de spammers, sitios porno, o simplemente webs de las que no quieres recibir visitantes.

Para bloquear los visitantes procedentes de estos sitios webs, es necesario agregar unas pocas líneas en tu archivo .Htaccess

# spam_ref variable definida
SetEnvIfNoCase Referer "^ http:// (www.)? Refferer.com Sitio" spam_ref = 1
SetEnvIfNoCase Referer "^ http:// (www.)? Otra-site.com" spam_ref = 1
SetEnvIfNoCase Referer "^ palabra-incluido-en-dirección-url" spam_ref = 1
# bloquear todo el conjunto en spam_ref
<FilesMatch "(.*)">
Orden allow, deny
Dejar de todas las
Deny from env = spam_ref
</ FilesMatch>

«#»Añadido delante de las líneas. Htaccess, cancelar la línea. Digamos que una línea informativa.

SetEnvIfNoCase Referer "^ palabra-incluido-en-dirección-url" spam_ref = 1

Esto bloquea la línea de todos los sitios que contengan la URL, pon tu palabra, por ejemplo:

SetEnvIfNoCase Referer "^ adulto" spam_ref = 1

La línea anterior bloquear todos los sitios que contengan referencia «adulto»En la URL. adult123.com, adult.ro, 210391adult.net.

Esta es otra forma de bloquear SPAM en formularios, foros, comentarios …

Eliminar www de la url con .htaccess y Mod_rewrite

En algún momento del desarrollo de un nuevo sitio web, deberemos decidir si queremos la url con www o sin ellas. Una vez decidido, lo podemos llevar a cabo a través del fichero .htaccess.

Para eliminarlas:

# Quitar el www del nombre de dominio
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.midominio\.com$ [NC]
RewriteRule ^(.*)$ http://midominio.com/$1 [R=301,QSA,L]
</IfModule>

Si lo que queremos es que se agregen siempre las www al nombre del dominio, entonces aplicamos lo siguiente en el archivo .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Redirigir el dominio sin www a www
RewriteCond %{HTTP_HOST} ^midominio\.com$ [NC]
RewriteRule ^(.*)$ http://www.midominio.com/$1 [R=301,QSA,L]
</IfModule>

Si quereis un editor Online de .htaccess con muchas opciones lo teneis aqui http://htaccess-online.blogofsysadmins.com/