Ir al contenido


Foto

Ayuda con URLs Amigables y Enriquecidas


  • Por favor identifícate para responder
2 respuestas en este tema

#1 ClaudioGS

ClaudioGS

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 16 agosto 2011 - 07:48

Hola que tal.

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
  1. RewriteEngine On
  2.  
  3. # Sobreescribir home.php
  4. RewriteRule ^hbl/id([0-9]*)\.html$ home.php?id=$1 [L]
  5.  
  6. # Sobreescribir URLs numericas
  7. RewriteRule ^tienda/id([0-9]*)\.html$ index.php?id=$1&sku=$2 [L]
  8. #RewriteRule ^tienda/.*id([0-9]+)/.*sku([0-9]+)\.html$ productos.php?id=$1&sku=$2 [L]
  9.  
  10. # Sobre escribir URLs con palabras clave enriquecidas
  11. RewriteRule ^producto/.*id([0-9]+)/.*sku([0-9]+)\.html$ productos.php?id=$1&sku=$2 [L]
  12. #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
  1. <?php
  2.  
  3. class SEO {
  4.     /*
  5.     Method to replace characters not accepted in URLs
  6.     */
  7. function scapeURL ($text) {
  8.   $text = preg_replace('#[^-a-zA-Z0-9_ ]#', '', $text);
  9. $text = trim($text);
  10. $text = preg_replace('#[-_ ]+#', '-', $text);
  11. return $text;
  12. }
  13. /*
  14. Make rich links
  15. */
  16. function makeProductURL ($nombre_distrib, $id_distrib, $nombre_producto, $id_producto) {
  17.   $scape_nombre_distrib = $this->scapeURL($nombre_distrib);
  18.   $scape_nombre_producto = $this->scapeURL($nombre_producto);
  19.   $url = 'http://localhost/mipesoideal/mip/includes/producto/'.$scape_nombre_distrib.'id-'.$id_distrib.'/'.$scape_nombre_producto.'-sku'.$id_producto.'.html';
  20.       return $url;
  21. }
  22. /*
  23.         Make URL with special characters
  24. */
  25. function makeProductURLnoScape ($pro_name, $pro_id, $cat_name, $cat_id) {
  26.   $url = 'http://localhost/mipesoideal/mip/includes/producto/'.$pro_name.'id'.$pro_id.'/'.$cat_name.'-sku'.$cat_id.'.html';
  27.       return $url;
  28. }
  29. }
  30.  
  31. ?>


y por último tengo los enlaces que llaman a las páginas de los productos.


delphi
  1. 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
  1. ?><a href="<?php echo $oUrl->makeProductURL("$res[nombre]-$res[apellidos]-",$id, "$row[nombre]","-$row[0]"); ?>">
  2.                         <?php echo "<strong>$row[nombre]</strong>";?></a>
  3.                 <?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
  • 0

#2 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 16 agosto 2011 - 02:48

Hola Claudio esto te ayudará :

http://www.cesarcanc...p-poo-n195.html

por cierto creo que acá tienes el error en la expresión regular:

RewriteRule ^producto/.*id([0-9]+)\/.*sku([0-9]+)\.html$ productos.php?id=$1&sku=$2 [L]

con el caracter \ separa las dos variables...

saludos desde Santiago de Chile..

  • 0

#3 ClaudioGS

ClaudioGS

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 17 agosto 2011 - 07:31

Gracias Cesar por tu respuesta, veré el video que me recomiendas, por otra parte lo del slach lo hice y no pasó nada sigue todo igual.

Saludos
  • 0




IP.Board spam blocked by CleanTalk.