Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2010, 18:04
edualven
 
Fecha de Ingreso: febrero-2008
Mensajes: 20
Antigüedad: 16 años, 8 meses
Puntos: 1
Pregunta ayuda con instruccion htaccess

Hola a todos, me he metido por primera vez con el tema de las url amigables, necesito a ver si a alguien se le ocurre una posible solución a una dudilla y algo que quiero conseguir en mi web.

Os comento, la idea es conseguir la url amigable de esta forma:
htttp://www.miweb.com/productos/nombre_del_producto

El php que muestra los detalles del producto recibe dos vbles, pero para poder mostrar el nombre del producto en la nueva url amigable necesito pasarle una 3ª vble, de esta forma:
http://www.miweb.com/productos/index.php?title=xxxx&serv=xx&id=xx

El codigo del .htaccess que tengo:
Código:
Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f   
RewriteCond %{REQUEST_FILENAME} !-d   
Rewriterule ^productos/(.+)_(.+)_(.+)$ productos/index.php?title=$1&serv=$2&id=$3&%{QUERY_STRING}
Con esto consigo la url amigable:
http://www.miweb.com/productos/nombre_del_producto_xx_yy
Siendo xx la vble serv y yy la vble id.
Y funciona correctamente.

Pero quiero solo el nombre del producto y por tanto lo intento con este cambio en el .htaccess:
Código:
Rewriterule ^productos/(.+)$ productos/index.php?title=$1&serv=$2&id=$3&%{QUERY_STRING}
Así la url que obtengo es: http://www.miweb.com/productos/nombre_del_producto
Pinta la pagina correcta pero no me muestra los detalles del producto, ya que el script index.php necesita las dos vbles(serv y id) siguientes para ir a la base de datos y obtener los detalles...

¿Alguien me puede ayudar si existe alguna manera de hacerlo sin que tenga que modificar el script index.php?
El tema de no modificar el script index.php es porque no quiero utilizar el nombre del producto para hacer la búsqueda del producto ya que tengo productos que se llaman igual aunque son de otro tipo de servicio...

Perdon por el rollazo, pero cro que queda claro lo que necesito.

Gracias a todos de antemano.