Foros del Web » Programando para Internet » PHP »

Problema reescribir URL

Estas en el tema de Problema reescribir URL en el foro de PHP en Foros del Web. Hola! Vereis, llevo un montón de tiempo con este problema y no se solucionarlo... En mi web, quiero convertir la url de www.nombremiweb.net/pagina.php?id=21 a www.nombremiweb.net/pagina/ordenador ...
  #1 (permalink)  
Antiguo 30/09/2012, 09:04
 
Fecha de Ingreso: septiembre-2012
Mensajes: 5
Antigüedad: 11 años, 6 meses
Puntos: 0
Problema reescribir URL

Hola! Vereis, llevo un montón de tiempo con este problema y no se solucionarlo...

En mi web, quiero convertir la url de www.nombremiweb.net/pagina.php?id=21
a www.nombremiweb.net/pagina/ordenador

en este caso el id=21 se correspondería con la página "ordenador". Por ejemplo.

Pues bien, he intentado con el htaccess arreglarlo pero no hay manera. Lo más que consigo es que no aparezca la terminacion .php y aunque lo lograra me quedaria www.nombremiweb.net/pagina/21 en lugar de lo que yo quiero.

Mi pregunta por tanto es doble:

Por un lado, como hacer que en la URL salga el valor del ID en lugar del numero (creo que esto es lo mas dificil).

Y por otro como acortarla ya que he probado todos los cógidos posibles y no hay manera.

Muchas gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 30/09/2012, 09:34
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Problema reescribir URL

Buenas,

Yo uso el mod rewrite wizard para hacer las reescrituras. Si buscas en google "mod rewrite wizard" lo encontrarás fácil, te ahorras bastante tiempo en aprender expresiones regulares (aunque no está de más saberlas usar).

Sinceramente no me he leído la política sobre colgar enlaces en los posts, si no te colgaría directamente la url :P. Ahora lo reviso.
  #3 (permalink)  
Antiguo 30/09/2012, 09:35
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Problema reescribir URL

Bueno, el valor de ID es un número, así que no tiene mucho sentido pretender cambiar el valor de ID por un número.

De todas formas, esto no tiene mucho que ver con PHP, tendrías que preguntar en el foro de Apache y no sé si incluso habrá un subforo de .htaccess.
__________________
(:
  #4 (permalink)  
Antiguo 30/09/2012, 09:37
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Problema reescribir URL

Cita:
Iniciado por NoiK Ver Mensaje
Sinceramente no me he leído la política sobre colgar enlaces en los posts, si no te colgaría directamente la url :P. Ahora lo reviso.
Se supone que cuando tienes más de 30 mensajes y llevas más de un mes por aquí puedes poner enlaces. De todas formas siempre y cuando sea con el propósito de solventar dudas en realidad nunca hay problemas (esto último no es una norma, sino una apreciación mia).
__________________
(:
  #5 (permalink)  
Antiguo 30/09/2012, 09:43
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Problema reescribir URL

Cita:
Iniciado por Bonez Ver Mensaje
Se supone que cuando tienes más de 30 mensajes y llevas más de un mes por aquí puedes poner enlaces. De todas formas siempre y cuando sea con el propósito de solventar dudas en realidad nunca hay problemas (esto último no es una norma, sino una apreciación mia).
Muchas gracias por la info, lo estaba buscando.

Entonces pongo enlace: http://www.generateit.net/mod-rewrite/

Solo tienes que poner tu url tal como está ahora, después te da las opciones de cambio que puedes hacer, y te escribe el contenido que debes poner en el .htaccess .
  #6 (permalink)  
Antiguo 30/09/2012, 09:58
 
Fecha de Ingreso: septiembre-2012
Mensajes: 5
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Problema reescribir URL

Gracias por las respuestas, esa web ya la habia utilizado y no he conseguido que funcione.

De todas formas, cómo hago para que el id=26 no me salga después el 26 sino el nombre de la página a la que se refiere??

Ahora mismo con el rewrite me saldria algo asi: www.mipagina.net/nombreseccion/26

Yo no quiero que salga 26 sino a lo que corresponde ese id en la base de datos.
Por ejemplo www.mipagina.net/nombreseccion/ordenador donde ordenador corresponde en la base de datos con id=26

Hay alguna consulta que deba hacer en la página antes de hacer el rewrite?

Gracias!
  #7 (permalink)  
Antiguo 30/09/2012, 12:45
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Problema reescribir URL

Cita:
Iniciado por desa2012 Ver Mensaje
Gracias por las respuestas, esa web ya la habia utilizado y no he conseguido que funcione.

De todas formas, cómo hago para que el id=26 no me salga después el 26 sino el nombre de la página a la que se refiere??

Ahora mismo con el rewrite me saldria algo asi: www.mipagina.net/nombreseccion/26

Yo no quiero que salga 26 sino a lo que corresponde ese id en la base de datos.
Por ejemplo www.mipagina.net/nombreseccion/ordenador donde ordenador corresponde en la base de datos con id=26

Hay alguna consulta que deba hacer en la página antes de hacer el rewrite?

Gracias!
Necesitas pasarle un parámetro con el cual puedas hacer referencia a la base de datos. El problema es que si le pasas como parámetro el título en lugar de la id, la dirección seguramente tendrá espacios en blanco y caracteres que no interesa.

La solución que yo encontré para este problema (me pasó algo parecido) fue crear un campo en la base de datos que sea "permalink" o "url" o como quieras llamarle. En este campo introduces el título del post pero de este estilo: "soy-un-titulo-de-pagina" sin acentos, caracteres raros ni espacios, y le pasas eso por parámetros en lugar del id. Con esto te quedará una dirección así: http://www.mipagina.net/nombreseccio...tulo-de-pagina

No sé si será la solución más óptima pero fue la que usé hace unos años cuando me paso algo similar, espero que te sirva.

Etiquetas: amigables, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:22.