Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/03/2009, 08:26
Avatar de facundocorradini
facundocorradini
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Argentina
Mensajes: 965
Antigüedad: 16 años, 1 mes
Puntos: 53
Respuesta: URL Amigables con Mod rewrite pero sin espacios?

El error está no en tus reglas htaccess sino en la forma en que lo estás planteando. Es decir, nunca deberías haber generado urls con parámetros con espacios ni nigún caracter especial.

Desde PHP puedes filtrarlos mediante el siguiente código:

Código PHP:
function seourl($url) {

// Tranformamos todo a minusculas

$url strtolower($url);
// Añaadimos los guiones

$find = array(' ''&''\r\n''\n''+');
$url str_replace ($find'-'$url);

//Rememplazamos caracteres especiales latinos
$find = array('á''é''í''ó''ú''ñ');

$repl = array('a''e''i''o''u''n');

$url str_replace ($find$repl$url);


// Eliminamos y Reemplazamos demás caracteres especiales

$find = array('/[^a-z0-9\-<>]/''/[\-]+/''/<[^>]*>/');

$repl = array('''-''');

$url preg_replace ($find$repl$url);

return 
$url;


Si la query a la base de datos ejecuta una búsqueda de coincidencia de un término, entonces lo mejor sería que agregues un campo más con la palabra procesada con ese script y busque coincidencia de la url y ese campo.

El cambio implicaría también pensar muy bien redireccionamientos 301s, urls canónicas y muchísimas cuestiones técnicas bastante complicadas... Si ya tienes las páginas bien posicionadas, entonces la verdad que no vale la pena arriesgarse...
__________________
<<==== Si una respuesta te ayuda, dale al botón de Karma! Haz fluir la buena onda web!