Manipular la ruta actual de la pagina

Boris Cruchet b en guliv.cl
Vie Mar 16 09:42:17 CLT 2007


Si a lo que te refieres es ... a la posibilidad de  que tus urls se vean
como las de blogger, entonces lo que necesitas es MOD_REWRITE

con mod_rewrite, que es una caracteristica del servidor web y no de la
aplicacion.

tu puedes hacer cosas como lo siguiente

su pagina tiene esta direccion

http://www.pagina.cl/index.php?op=noticias&cod=123

podras dejar que quede asi:

http://www.pagina.cl/noticias/123.html


como ??
usando mod_rewrite necesitarias escribir en un .htacces una expresion
regular que ordene la URL para que la acomode alo que tu esperas.

algo asi:

RewriteRule /(.*)/(\d.*).html$ index.php?op=$1&cod=$2


ahora ... como diantres se entiende esto ??

en pocas palabras APACHE (o el servidor http que sea que soporte esto)
recive la URL "bonita", pero antes de procesarla la pasa por el filtro
anterior y selecciona la promera parte entre slashes "(.*)" y la convierte
en la variable $1, luego hace lo mismo con la segunda parte entre slashes
"(\d.*)", que en este caso son solo numeros y la transforma en $2

asi, la URL "bonita"

http://www.pagina.cl/noticias/123.html


$1 == noticias
y
$2 == 123

y la reconstruccion (re escritura) de la nueva URL quedaria asi

http://www.pagina.cl/index.php?op=noticias&cod=123

finalmente INSISTO, esto es una pega que la hace el SERVIDOR WEB !!!!
no la aplicacion. podriamos tomar cualquier aplicacion hecha por nosotros
y si aplicamos bien las expresiones regulares, no deberiamos modificar
nada de nuestra aplicacion!!

un ejemplo:

http://guliv.cl


> Hola,
>
> siempre he querido saber cómo se puede mostrar la ruta o path de la
> página web en la que estoy actualmente sin la dirección http....cl ni
> el /public_html/ para poder manipularlo y poner un texto en la página
> que diga algo como:
>
> Tú estás en "php/path/" o "carpeta1 | carpeta2"
>
> Lo he visto en varias páginas como por ejemplo en
> http://dean.edwards.name/weblog/2005/05/the-musical-baton/
>
> He buscado en Google y he encontrado soluciones increíblemente
> complicadas que no han dado el resultado deseado.
>
> ¿Saben ustedes cómo hacerlo?
>





Más información sobre la lista de distribución PHP