Vamos a ver lo siguiente, es para páginas dinamicas en php o lo que quieras. Sirve para que google indexe mejor y para que no se conozcan las variables GETS que se envian a los scripts.
Para utilizar este sistema necesitamos:
Apache (1.3 y/o 2.x) Con mod_rewrite instalado
ok empecemos:
Archivo .htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule index.html$ index.php
Ahí le decimos al explorador que si ponen index.html muestre index.php ![]()
ahora veamos para introducir variables get:
RewriteRule ^user/(.*)\.html$ index.php?seccion=$1
En este caso estamos diciendo que todo lo que sea “.html” se redireccione a index.php?seccion=algo dentro de la “carpeta” user
el punto sirve para identificar cualquier caracter, el asterisco para que tome todo. los parentecis para que ponga en $1 el contenido. usé \ para que tome el punto de “.html” como tal y no como cualquier caracter.
mientras que el $ marca el final, y el ^ especifica que la cadena debería iniciar con.. en este caso con user
entonces quedaría así:
si vas a
Código:
www.tusitio.com/user/hola.html
sería como entrar en
Código:
www.tusitio.com/index.php?seccion=hola
veamos otro ejemplo:
RewriteRule ^user/(.*)/(.*)$ usuarios.php?usuario=$2&accion=$2
En este caso sería
Código:
www.misitio.com/user/nicolas/datos
que sería lo mismo que:
Código:
www.misitio.com/usuarios.php?usuario=nicolas&accion=datos
Si no entendieron hasta ahora no sigan
Veamos como utilizar expreciones regulares.
RewriteRule ^usr/?([a-z]+)\.html$ control.php?ac=$1
En este caso sería algo como: Solo se hace el rewrite en el caso de que $1 sean solo letras y en minuscula.
quedaria así
Código:
www.misitio.com/usr/tomar
que sería lo mismo que:
Código:
www.misitio.com/control.php?ac=tomar
pero si ponemos TOMAR con mayusculas en la url con el rewrite va a tirar error 404, si ponemos algún carácter que no sea pura y esclusivamente una letra tirará error (incluyendo la Ñ y letras con acentos)
Bueno para que vayan entendiendo les dejo esto así ven como funciona y espero que les sirva!
Gracias por el articulo.