He estado siguiendo el video turorial de SEO Urls Amigables y Enriquecidas por Dayby Vazquez, que por supuesto está muy bueno, mas que bueno EXCELENTE. y me encontré con el siguiente inconveniente, que espero alguien de buena voluntad me pueda ayudar a solucionar.
Me explico:
Tengo el archivo .htaccess de la siguiente forma.
delphi
RewriteEngine On # Sobreescribir home.php RewriteRule ^hbl/id([0-9]*)\.html$ home.php?id=$1 [L] # Sobreescribir URLs numericas RewriteRule ^tienda/id([0-9]*)\.html$ index.php?id=$1&sku=$2 [L] #RewriteRule ^tienda/.*id([0-9]+)/.*sku([0-9]+)\.html$ productos.php?id=$1&sku=$2 [L] # Sobre escribir URLs con palabras clave enriquecidas RewriteRule ^producto/.*id([0-9]+)/.*sku([0-9]+)\.html$ productos.php?id=$1&sku=$2 [L] #RewriteRule ^producto/id([0-9]+)/sku([0-9]+)\.html$ productos.php?id=$1&sku=$2 [L]
Esto por lo que he podido ver funciona bien
Por otro lado está la clase SEO
delphi
<?php class SEO { /* Method to replace characters not accepted in URLs */ function scapeURL ($text) { $text = preg_replace('#[^-a-zA-Z0-9_ ]#', '', $text); $text = trim($text); $text = preg_replace('#[-_ ]+#', '-', $text); return $text; } /* Make rich links */ function makeProductURL ($nombre_distrib, $id_distrib, $nombre_producto, $id_producto) { $scape_nombre_distrib = $this->scapeURL($nombre_distrib); $scape_nombre_producto = $this->scapeURL($nombre_producto); $url = 'http://localhost/mipesoideal/mip/includes/producto/'.$scape_nombre_distrib.'id-'.$id_distrib.'/'.$scape_nombre_producto.'-sku'.$id_producto.'.html'; return $url; } /* Make URL with special characters */ function makeProductURLnoScape ($pro_name, $pro_id, $cat_name, $cat_id) { $url = 'http://localhost/mipesoideal/mip/includes/producto/'.$pro_name.'id'.$pro_id.'/'.$cat_name.'-sku'.$cat_id.'.html'; return $url; } } ?>
y por último tengo los enlaces que llaman a las páginas de los productos.
delphi
echo "<a href='producto/id$id/sku$row[sku].html' /><strong>$row[nombre]</strong></a>";
este enlace funciona perfectamente,
pero este otro que seria la versión enriquecida, no
delphi
?><a href="<?php echo $oUrl->makeProductURL("$res[nombre]-$res[apellidos]-",$id, "$row[nombre]","-$row[0]"); ?>"> <?php echo "<strong>$row[nombre]</strong>";?></a> <?php
en el navegador muestra bien la URL enriquecida, pero no encuentra la página, y tratado de varias formas y nada, la ruta que esta en la clase es la correcta.
Cualquier ayuda por favor, será muy bien benida y agradecida.
Un Cordial Saludo desde Valparaíso - Chile