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: 18 años, 6 meses
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!