Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2014, 07:45
rakshaka
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 15 años, 6 meses
Puntos: 2
Urls Amigables

bueno, les comento yo en estos momentos tengo un producto con categorias.

Estoy necesitando que ciando escriba por ejemplo producto/ORDENADORES-Y-SERVIDORES/ordenador-phoenix-smart-1-intel-ddr3-4gb-500gb-rw-hdmi

Me muestre obviamente el ordenador y sus caracteristicas. Ese no es problema ya que el php lo puedo hacer sin problemas sacandole los - y buscando el exacto en la web. Ese no es mi problema.
El problema es cuando el nombre es: ORDENADOR PHOENIX SMART 1 INTEL, DDR3 4GB, 500GB RW, HDMI

he usado este código que encontre en el foro para separar y hacer minúsculas toda la llegada:

Código PHP:
Ver original
  1. <?php
  2. function urls_amigables($url) {
  3. // Tranformamos todo a minusculas
  4. $url = strtolower($url);
  5. //Rememplazamos caracteres especiales latinos
  6. $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
  7. $repl = array('a', 'e', 'i', 'o', 'u', 'n');
  8. $url = str_replace ($find, $repl, $url);
  9. // Añaadimos los guiones
  10. $find = array(' ', '&', '\r\n', '\n', '+');
  11. $url = str_replace ($find, '-', $url);
  12. // Eliminamos y Reemplazamos demás caracteres especiales
  13. $find = array(' /[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
  14. $repl = array('', '-', '');
  15. $url = preg_replace ($find, $repl, $url);
  16. return $url;
  17. }
  18. ?>

Mi problema en si, radica en que el resultado es este:

Categoria: ORDENADORES Y SERVIDORES

Producto: ORDENADOR PHOENIX SMART 1 INTEL, DDR3 4GB, 500GB RW, HDMI

URL DEL PRODUCTO:ordenador-phoenix-smart-1-intel-ddr3-4gb-500gb-rw-hdmi

Esa url última es la que necesito se vea en el navegador. Pero no puedo hacerlo. Este es mi .htaccess:

Código:
RewriteEngine on
Rewriterule ^productos/(.+)/(.+) producto.php?categoria=$1&nombre=$2
La idea es que el link total sea este:

clientes/ORDENADORES-Y-SERVIDORES/ordenador-phoenix-smart-1-intel-ddr3-4gb-500gb-rw-hdmi


A ver si pueden ayudarme un poco.

PD: necesito obviamente que los espacios y comas etc se conviertan en guiones. El script ese php lo hace perfecto, lo que no puedo hacer es que funcione en la ruta que muestra el navegador.