Foros del Web » Programando para Internet » PHP »

URL amigables

Estas en el tema de URL amigables en el foro de PHP en Foros del Web. Hola , bueno les escribo porque quiero mostrar url amigables en mis paginas pero sin usar directivas apache, pues mi servidor no me permite usar ...
  #1 (permalink)  
Antiguo 22/01/2009, 18:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
URL amigables

Hola , bueno les escribo porque quiero mostrar url amigables en mis paginas pero sin usar directivas apache, pues mi servidor no me permite usar ..HTACCESS...

He encrontrado esta altenativa

$var_array = explode("/",$PATH_INFO);
$num_param = count($var_array );

if($num_param % 2 == 0) {

$var_array [] = '';
$num_param++;
}

for($i=1; $i<$num_param; $i+=2) {

$$var_array [$i] = $var_array [$i+1];
$total=$total + $$var_array [$i];
}

pero la verdad no entiendo nada, me dicen que lo coloque en la cabezera de todas mis paginas pero no hace nada, no transformas la url del tipo

http://localhost/php/contenido/artic...p?categoria=14

en

http://localhost/php/contenido/artic...p/categoria/14


Si no es mucha molestia me gustaria me lo explicaran y como debo instalarlo para que imprima esa direcciones cortas...


Muchisimas gracias de Antemano.
  #2 (permalink)  
Antiguo 22/01/2009, 21:13
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: URL amigables

Haber, desconozco que valor se supone trae $PATH_INFO, por lo que no me preocuparé de revisar el código que pones.

Un sistema así usa wordpress para ña reescritura de sus urls. La idea básica es esta: Toma la URL usndo $_SERVER['REQUEST_URI'] y extraes de ella la parte que corresponde a la ruta física de tu archivo php, quedándote sólo con la parte final que corresponde a la url amigable.

Usando expresiones regulares o explode() o el método que veas por conveniente desglosas esta url en varios trozos relacionados entre sí. Y listo.

No es dificil, eh?

  #3 (permalink)  
Antiguo 23/01/2009, 02:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: URL amigables

$_SERVER['PATH_INFO'] devuelve la porción "extra" que no es parte del script en si...

Código:
http://foo.com/candy.php/bar/does 
en este caso, entrega /bar/does como una cadena... de modo que un simple explode() nos entregaría un array con los segmentos en este caso...

la verdad es algo muy sencillo, y demás poderoso ya que se puede complementar con mod_rewrite sin afectar ni modificar al script en cuestión....

Cita:
[...] pero la verdad no entiendo nada, me dicen que lo coloque en la cabezera de todas mis paginas pero no hace nada, no transformas la url del tipo [...]
pues si, la verdad no has entendido.... un script no convierte las URL mágicamente, tan solo la interpretas normalmente.... tal y como es recibida!!

osea.. para que funcione tu script del tipo articulo.php/categoria/14 debes escribirlo así tal cual en tu HTML .... si lo escribes de otro modo, de ese modo se comportara.. es lógico!!!

con respecto al script, no hace nada?

si funciona (que supongo si) entonces... tu debes aprender a usarlo.... ya que de este modo, extraes los segmentos al contexto actual...


articulo.php/categoria/14
Código PHP:
// ... rutina de PATH_INFO

echo $categoria// 14 
esto, si esta bien construido el script... si no, pues no!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 23/01/2009 a las 02:32
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:30.