Foros del Web » Estrategias Digitales y Negocios Online » SEO »

URL Amigables con Mod rewrite pero sin espacios?

Estas en el tema de URL Amigables con Mod rewrite pero sin espacios? en el foro de SEO en Foros del Web. Hola, He estado tratando de pasar mis urls extensas a url amigables con el Mod rewrite en el .htaccess. Y finalmente pude lograr que mis ...
  #1 (permalink)  
Antiguo 07/03/2009, 14:32
 
Fecha de Ingreso: enero-2009
Mensajes: 18
Antigüedad: 15 años, 3 meses
Puntos: 1
URL Amigables con Mod rewrite pero sin espacios?

Hola, He estado tratando de pasar mis urls extensas a url amigables con el Mod rewrite en el .htaccess. Y finalmente pude lograr que mis secuencias funcionen. Pero se me presento el problema de los espacios en blanco que contiene una de mis variables $des que puede contener dos palabras separadas por espacio.

La URL Extensa:
misitio.com/de.php?des=Roberto Cesar

ahora se me tranforma a:
misitio.com/Roberto Cesar.html

Y yo lo que quiero es que borre el espacio y la url sea:
misitio.com/Roberto-Cesar.html

He estado leyendo y probando pero no puedo hacerlo funcionar ... sinceramente les agradeceria mucho su ayuda.
  #2 (permalink)  
Antiguo 08/03/2009, 05:56
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 7 meses
Puntos: 41
Respuesta: URL Amigables con Mod rewrite pero sin espacios?

Supongo que utilizarás php... usa esta funcion:

Código:
function urls_amigables($s) {
    $p = array('ú','á','Á',':','/','É','Í','Ó','Ú','é','ñ','Ñ','í','ó',' 1',' 2',' 3',' 4',' 5',' 6',' 7',' 8',' 9',' 0',' - ',' ','#','(',')','[',']','.','<','>','{','}','?','¿','!','¡','&',"'",'"',',');
    $r = array('u','a','A','','-','e','i','o','u','e','n','n','i','o','1','2','3','4','5','6','7','8','9','0','-','-','','','','','','','','','','','','','','','y','','','');
    $s=str_replace($p, $r, $s);
	$s = strtolower($s);
	return $s;
}
de este modo por ejemplo:

Código:
echo urls_amigables($desc);
saludos.
  #3 (permalink)  
Antiguo 08/03/2009, 08:26
Avatar de 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!
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 01:02.