¿Qué es mod_rewrite?
Apache, por defecto viene con el módulo mod_rewrite instalado pero no está activado. Por lo tanto, si usted tiene Apache instalado en su servidor, será necesario activarlo para que funcione.
Si usted necesita instalar Apache en su sistema existen muchas distribuciones gratuitas que lo traen por defecto, a modo de ejemplo están los siguientes software:
Xamp – http://www.apachefriends.org/en/xampp.html
apache2triad – http://apache2triad.net/
apachePHPMysql – http://apachephpmysql.narhoz.ru/
EasyWebServer – http://e.w.s.free.fr/index_fr.php
FoxServ – http://sourceforge.net/projects/foxserv/
Configurando mod_rewrite
Una vez instalado mod_rewrite, básicamente, se basa en un archivo para todas sus funcionalidades. Se llama .htaccess. Este archivo debe ser colocado en el directorio raíz de su sitio web.
Una simple redirección
Usted debe colocar las siguientes líneas en su archivo .htaccess:
RewriteEngine on
RewriteRule ^test\.html$ test2.html
RewriteEngine on debe ser colocado siempre en el inicio de sus archives .htaccess.
Nota: Si usted es un proveedor de hosting, usted necesita colocar la siguiente línea en su archivo (debajo de rewrite_engine on): RewriteBase /
Detalles y explicación del Script:
- ^ se utiliza antes de la URL. Si las rutas relativas de la URL están siendo usadas, se inicia en el mismo directorio que el archivo .htaccess.
- $ se utiliza para el final de una cadena que va a ser igualada.
- \ se usa para escapar de la regla, las reglas necesitan colocar una \ antes, en el caso de que no vayan a ser parte de la regla (en este caso, es parte del nombre de archivo).
Este script redirigirá todos los accesos desde la página test.html a test2.html. Ej. Si un usuario se dirige a la URL http://www.susitio.com/test.html, entonces automáticamente será redirigido a http://www.susitio.com/test2.html
Otros usos interesantes de mod_write
A) Se puede bloquear direcciones IP para impedir el acceso a su sitio web:
RewriteCond %{REMOTE_ADDR} ^(W\.X\.Y\.Z)$
RewriteRule ^/* http://www.susitio.com/prohibido.htm [L]
Se debe reemplazar w.x.y.z con la IP que usted le gustaría bloquear y ser redirigida a la URL http://www.susitio.com/prohibido.htm .
B) Bloquear / re direccionar un sitio que está vinculando a usted:
RewriteCond %{HTTP_REFERER} ^http://www\.sitiobloqueado\.com [NC]
RewriteRule ^/* http://www.susitio.com/prohibido.htm [L]
Reemplazar http://www.sitiobloqueado.com/ con el sitio que usted no quiere lo que lo vincule a usted, y la URL será redirigida a http://www.susitio.com/prohibido.htm .
C) Prevenir que las personas vinculen a sus imágenes:
RewriteCond %{HTTP_REFERER} !^http://(www\.)?susitio\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^http://.*$
RewriteRule \.(png |gif | bmp | jpe?g|)$ /images/detenerrobo.png [L]
Reemplaza http://www.sitiobloqueado.com/ con su sitio, e /images/detenerrobo.png con la ruta de la imagen a su elección.
Referencia de documentos de Apache: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
Deja una respuesta