URL Amigable

BLZKZ

el mod_rewrite se habilita en el php.ini del apache si no me equivoco y solo tiene que ver con la version de servidor del apache no con el SO :P

1 año después
RaymaN

Subo esto porque lo tenía guardado desde que se abrió y me ha servido bastante en los últimos días pero tengo una duda:

Tengo una url tal que así: web.com/equipos/nombre
Y tira de web.com/index.php?pag=equipos&id=X (número)

Me gustaría saber sí, evitando "web.com/equipos/nombre-X", es posible pasar la id para obtener los datos sin usar una consulta SQL. Actualmente hago un SELECT id FROM equipos WHERE url = "nombre", pero me gustaría hacer las menos consultas posibles.

Sé que si añado la id a la url amigable solo tengo que cortar la cadena, pero sin el número queda más bonito :P

2 respuestas
Tunnecino

Y que tal web.com/equipos/24/nombre

Tendrás que pasar la ID de alguna forma, y así pues queda "menos feo".

eXtreM3

#32 si no pasas la id tienes que hacer sí o sí la consulta que mencionas... ya que si hay nuevos visitantes en el sitio y acceden directamente a web.com/equipos/nombre no hay manera de saber los datos.

DarkSoldier

y en una session? no se hasta q punto es viable y demás pero... puede servir, aún así, si siempre se ha puesto algo del estilo: "web.com/equipos/x/nombre" será por algo xD

1 respuesta
eXtreM3

#35 la session serviría para usuarios que ya estén navegando en el sitio, pero si yo nada más abrir el navegador entro a web.com/equipos/nombre, no hay nada :P

Aún así, #32 hay otra manera de hacerlo. En la BD le pones que el "nombre" sea único, y ya realizas las consultas directamente por ese campo, que vendría a ser lo mismo que por id.

2 respuestas
BLZKZ

#36 el problema de eso es que tiene que parsear los nombres por el tema de caracteres especiales, y si los ha usado en alguno hasta ahora le va a petar xD

2 respuestas
eXtreM3

#37 sí, y aparte de eso a mi personalmente no me gusta porque ya te limita a no poder poner nunca dos nombres iguales, y a veces es necesario.

RaymaN

#36 #37 tengo todo el sistema montado para apuntar a las ids numéricas, sería un coñazo rehacer todas las consultas xD

Ya pensé en lo que comentáis e hice un campo para almacenar el nombre en formato url. No me gustaba la idea de tener que parsear el nombre en cada enlace por el tema que comenta #36. De esta forma está almacenado correctamente y evito repeticiones añadiendo un pepito-1, pepito-2 y tal.

De momento me quedaré con la consulta intermedia que no supone ningún problema para el servidor. Si la cosa marcha bien y empieza a rascar pues pasaré al /id/nombre o pillo un server mejor xD

Tunnecino

A ver, yo en un proyecto con usuarios, los perfiles van web/u/Tunnecino tb puedes hacerlo así, pero desde un principio tienes que limitar mucho los caracteres que usen los nombres.