Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/07/2011, 14:16
Avatar de DjMiki
DjMiki
 
Fecha de Ingreso: octubre-2007
Ubicación: Paijan - Trujillo - La Libertad
Mensajes: 90
Antigüedad: 16 años, 7 meses
Puntos: 2
Información Respuesta: generar url amigable para buscador

hola imerli, bueno yo te puedo ayudar, espero no sea tarde, primero debes en tu formulario el ACTION sea POST, luego que al enviar el formulario ejecute una funcion javascript. Ejemplos:
Código HTML:
Ver original
  1. <form name="tuform" action="/buscar/" method="post" onSubmit="return do_left_srch()" >
  2. <input name="query" id="query" type="text" value="<?= $_GET['query'] ?>" />
  3. <input type="submit" value="buscar" />
  4. </form>

Aqui esta la funcion que deberas agregarlo en una hoja javascript o en el mismo documento.
Código Javascript:
Ver original
  1. function do_left_srch()
  2. {
  3.     if(this.document.tuform.query.value=="")
  4.     {
  5.         alert("Por favor Ingresa el Texto a Buscar");
  6.         return false;
  7.     }
  8.     document.tuform.action="http://tusitio.com/buscar/"+this.document.tuform.query.value;
  9.     document.tuform.submit();
  10. }

Ahora esto no es todo, ya que tienes que hacer las modificaciones en el htaccess, si ya lo tienes vacan bueno yo uso esto:
Código Apache:
Ver original
  1. RewriteRule ^buscar/([^-]*)?$  buscar.php?query=$1 [L]

El problema de esto es quese utiliza espacios, que es lo que envia el formulario al buscar, ahora otro problema seria paginar los resultados y bueno tengo problemas al paginar esos resultados y me esta causando lios, alguien que me pueda ayudar, para paginar uso esto:
Código Apache:
Ver original
  1. RewriteRule ^buscar/([^-]*)/(/page([0-9]+))(\/)?$  buscar.php?query=$1&page=$3 [L]
El problema es que toma el "/(/page([0-9]+))" como parte de la query o de la palabra a buscar, osea si la url amigable es: buscar/tu%20busqueda/page2/ el query deberia ser solo "tu%20busqueda" pero toma todo lo que biene despues, tons no se como seria eso, alguien ayudenme