Problema con url amigable.
Hola amigos que tal estan.
Miren tengo un problema estoy haciendo las url amigables pero cuando tengo una url de este tipo:
servicios.php?idServicio=1
No me resulta. Les muestro el codigo que estoy usando.
En el .htaccess Active la reescritura de url (Eso funciona bien)
y luego pongo
RewriteRule ^lo-que-se-muestra-en-la-url.html/(.+)$ servicios.php?idServicio=1
y en el href del boton apunta a: servicios.php?idServicio=1
luego lo cambio por: lo-que-se-muestra-en-la-url.html
Me dice que la pagina no existe.
El problema lo tengo cuando las direcciones usan el id de la base de datos
Les agradeceria mucho si me pueden dar una mano con este problemos que tengo.
Saludos y gracias.
Miren tengo un problema estoy haciendo las url amigables pero cuando tengo una url de este tipo:
servicios.php?idServicio=1
No me resulta. Les muestro el codigo que estoy usando.
En el .htaccess Active la reescritura de url (Eso funciona bien)
y luego pongo
RewriteRule ^lo-que-se-muestra-en-la-url.html/(.+)$ servicios.php?idServicio=1
y en el href del boton apunta a: servicios.php?idServicio=1
luego lo cambio por: lo-que-se-muestra-en-la-url.html
Me dice que la pagina no existe.
El problema lo tengo cuando las direcciones usan el id de la base de datos
Les agradeceria mucho si me pueden dar una mano con este problemos que tengo.
Saludos y gracias.
0
Puntos
Puntos
2402
Visitas
Visitas
11
Resp
Resp
Por tokens hace 113 meses
Principiante
Respuesta #1
ahí va el código espero que te sirva:
El enlace:
El enlace:
<a href="http://tudominio.com/lo-que-se-muestra-en-la-url.html">Titulo</a>El .htacces:
RewriteEngine on RewriteRule ^(.+).html servicios.php?idServicio=$1la consulta de servicios.php
$query_Datos = "SELECT * FROM posts WHERE seo='$_GET['idServicio']'";
0
Puntos
Puntos
Por alber hace 113 meses
Administrador
Respuesta #2
la consulta mejor la haces asi
mysql_select_db($database_conexion, $conexion); $query_Datos = sprintf("SELECT * FROM post WHERE seo=%s", GetSQLValueString($_GET['idServicio'], "text")); $Datos = mysql_query($query_Datos, $conexion) or die(mysql_error()); $row_Datos = mysql_fetch_assoc($Datos); $totalRows_Datos = mysql_num_rows($Datos);
0
Puntos
Puntos
Por alber hace 113 meses
Administrador
Respuesta #3
Primero gracias por tu respuesta.
Mira yo tengo en el index un boton que tiene en el href servicios.php?idServicio=1 , y esto me lleva a la pagina servicios.php
que tiene la consulta que me muestra la informacion a la que se le haya dado click.
En la base de datos tengo una tabla llamada servicios y en ella estan listados todos los servicios disponibles.
Te lo comento por que no entendi lo de la consulta llamando a la tabla seo.
Espero haberme explicado bien
Saludos y gracias
alber dijo:Hola albert.
la consulta mejor la haces asimysql_select_db($database_conexion, $conexion); $query_Datos = sprintf("SELECT * FROM post WHERE seo=%s", GetSQLValueString($_GET['idServicio'], "text")); $Datos = mysql_query($query_Datos, $conexion) or die(mysql_error()); $row_Datos = mysql_fetch_assoc($Datos); $totalRows_Datos = mysql_num_rows($Datos);
Primero gracias por tu respuesta.
Mira yo tengo en el index un boton que tiene en el href servicios.php?idServicio=1 , y esto me lleva a la pagina servicios.php
que tiene la consulta que me muestra la informacion a la que se le haya dado click.
En la base de datos tengo una tabla llamada servicios y en ella estan listados todos los servicios disponibles.
Te lo comento por que no entendi lo de la consulta llamando a la tabla seo.
Espero haberme explicado bien
Saludos y gracias
0
Puntos
Puntos
Por tokens hace 113 meses
Principiante
Respuesta #4
en el index cambia ese enlace por el de la url amigable del post
<a href="http://tudominio.com/lo-que-se-muestra-en-la-url.html">Titulo</a>la consulta tienes que acomodarla a tu base de datos y tener una columna que tenga las url's amigables
mysql_select_db($database_conexion, $conexion); $query_Datos = sprintf("SELECT * FROM servicios WHERE urlamigale=%s", GetSQLValueString($_GET['idServicio'], "text")); $Datos = mysql_query($query_Datos, $conexion) or die(mysql_error()); $row_Datos = mysql_fetch_assoc($Datos); $totalRows_Datos = mysql_num_rows($Datos);con eso ya lo tienes ahora solo te queda ajustarlo a tu proyecto, la idea ya la tienes prueba y nos cuentas
0
Puntos
Puntos
Por alber hace 113 meses
Administrador
Respuesta #5
Listo entendi lo que me decias, lo que pasa es que tu manejas las url desde la base de datos.
Bueno Hice una pequeña operacion y logre que se reescriba la url con lo que yo quiero, pero nose por que pierde la hoja de estilos y las imagenes. Vale decir toda la informacion que saca de la base de datos es correcta, pero se muestra plana.
No tengo idea por que pasa esto, Pero parece que voy progresando
Bueno Hice una pequeña operacion y logre que se reescriba la url con lo que yo quiero, pero nose por que pierde la hoja de estilos y las imagenes. Vale decir toda la informacion que saca de la base de datos es correcta, pero se muestra plana.
No tengo idea por que pasa esto, Pero parece que voy progresando
0
Puntos
Puntos
Por tokens hace 113 meses
Principiante
Respuesta #6
Hola tokens, es normal que pierda los estilos porque normalmente los tienes por ejemplo
Pero haciendo lo de las url amigables estás haciendo como si estuviese dentro de otro directorio, entonces ya no sería así sino así
Saludos.
<head> <link rel="steelsheet" href="css/estilos.css"> </head>
Pero haciendo lo de las url amigables estás haciendo como si estuviese dentro de otro directorio, entonces ya no sería así sino así
<head> <link rel="steelsheet" href="../css/estilos.css"> </head>Pero para no estar con ese asunto por eso es mejor trabajar con la variable de la URL $urlWeb (no todo el mundo trabaja así), pero así no tendrías ese problema de estar modificando los directorios sino que siempre será absoluto
<head> <link rel="steelsheet" href="<?php echo $urlWeb ?>/css/estilos.css"> </head>Que bueno que hayas podido hacer funcionar la url amigable, espero vayas entendiendo cada día como es que funciona :P
Saludos.
Respuesta #7
tokens dijo:entonces ya lo tienes solo te falta que te coja los estilos y demas usando la ruta absoluta, como dice jose no todo el mundo usa url absoluta pero los mas veteranos como wordpress, drupal, joomla etc si, con esto te evitas problemas y tienes muchas mas ventajas
Listo entendi lo que me decias, lo que pasa es que tu manejas las url desde la base de datos.
Bueno Hice una pequeña operacion y logre que se reescriba la url con lo que yo quiero, pero nose por que pierde la hoja de estilos y las imagenes. Vale decir toda la informacion que saca de la base de datos es correcta, pero se muestra plana.
No tengo idea por que pasa esto, Pero parece que voy progresando
0
Puntos
Puntos
Por zerodarck hace 113 meses
Experto
Respuesta #8
Para ver las estilos y las imagenes tiened que usar la url absoluta
0
Puntos
Puntos
Por alber hace 113 meses
Administrador
Respuesta #9
Amigos que tal.
Miren efectivamente lo que decía Jose esta en lo correcto, el asunto está en que si pongo ../ efectivamente pesca la hoja de estilo y las imágenes también. Pero el logo de la web y las imágenes que están en el pie de la pagina no se ven Estas están llamadas por un includes.
Entonces si voy al includes y le pongo el ../ se ve, pero en el resto de las hojas del sitio web no. Como podría arreglar ese detalle.
Saludos y gracias.
Miren efectivamente lo que decía Jose esta en lo correcto, el asunto está en que si pongo ../ efectivamente pesca la hoja de estilo y las imágenes también. Pero el logo de la web y las imágenes que están en el pie de la pagina no se ven Estas están llamadas por un includes.
Entonces si voy al includes y le pongo el ../ se ve, pero en el resto de las hojas del sitio web no. Como podría arreglar ese detalle.
Saludos y gracias.
0
Puntos
Puntos
Por tokens hace 113 meses
Principiante
Respuesta #10
tokens dijo:de nuevo con la url absoluta es muy secillo entras a los includes y donde tienes las imagenes cambias:
Amigos que tal.
Miren efectivamente lo que decía Jose esta en lo correcto, el asunto está en que si pongo ../ efectivamente pesca la hoja de estilo y las imágenes también. Pero el logo de la web y las imágenes que están en el pie de la pagina no se ven Estas están llamadas por un includes.
Entonces si voy al includes y le pongo el ../ se ve, pero en el resto de las hojas del sitio web no. Como podría arreglar ese detalle.
Saludos y gracias.
<img src="imagenes/imagen1.jpg">por:
<img src="http://tudomio.com/imagenes/imagen1.jpg">o
<img src="http://localhost/imagenes/imagen1.jpg">
0
Puntos
Puntos
Por zerodarck hace 113 meses
Experto
Respuesta #11
Listo están saliendo al fin.
Les agradezco a todos.
Saludos
Les agradezco a todos.
Saludos
0
Puntos
Puntos
Por tokens hace 113 meses
Principiante