Foros del Web » Administración de Sistemas » Apache »

URL amigable dependiendo de id

Estas en el tema de URL amigable dependiendo de id en el foro de Apache en Foros del Web. Hola a todos, soy un novatín en esto de .htaccess y la verdad que no lo estoy pillando nada. Tengo un menú, con enlaces a ...
  #1 (permalink)  
Antiguo 24/05/2018, 07:11
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 8 años, 6 meses
Puntos: 4
URL amigable dependiendo de id

Hola a todos,

soy un novatín en esto de .htaccess y la verdad que no lo estoy pillando nada.

Tengo un menú, con enlaces a las páginas de esta manera:

Código HTML:
Ver original
  1. <a href="categoria.php?id=1">Información</a>

Básicamente lo que hago es pasar la id de una categoría y cargar las subcategorias y contenido de las mismas según la categoría.

He estado leyendo un poco sobre las URL's amigables, lo cual veo bastante limpio y útil y me implementar un .htaccess para controlar esto, pero me estoy liando con el código y no entiendo como funciona.

¿Es posible hacer una url amigable pero que aún así pueda pasar el valor de la id por GET para poder hacer la carga de datos en la página? Es que estoy leyendo y no lo veo claro para nada de si es posible o no.

No quiero código directamente, quiero una explicación, una pista y luego ya intento hacerlo por mi cuenta. Cualquier duda que me pueda surgir, la seguiré publicando por aquí.

Gracias por vuestra atención y un saludo.

Añado: he conseguido hacer que la url se vea así:

Código HTML:
Ver original
  1. <li><a href="categoria/1">Información</a></li>

No es lo que quiero, pero es un paso adelante.

Última edición por tonigomila1988; 24/05/2018 a las 07:29 Razón: añadir información
  #2 (permalink)  
Antiguo 24/05/2018, 09:26
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.030
Antigüedad: 8 años, 8 meses
Puntos: 150
Respuesta: URL amigable dependiendo de id

Cita:
¿Es posible hacer una url amigable pero que aún así pueda pasar el valor de la id por GET para poder hacer la carga de datos en la página?
si es posible, de hecho siempre es asi, asi trabajan las URL amigables en primera instancia
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 25/05/2018, 02:30
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 8 años, 6 meses
Puntos: 4
Respuesta: URL amigable dependiendo de id

hola petit89,

entiendo que es posible, pero no entiendo como lo hace, por que por ejemplo, si tengo el enlace:

Código HTML:
Ver original
  1. <a href="categoria.php?id=1">Información</a>

y quiero

Código HTML:
Ver original
  1. <a href="informacion">Información</a>

no entiendo como .htaccess gestiona el id=1, que si necesito en la página categoria.php para cargar el contenido.
  #4 (permalink)  
Antiguo 25/05/2018, 14:27
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 4 años, 4 meses
Puntos: 2
Respuesta: URL amigable dependiendo de id

Hola compañero, es muy sencillo el proceso y básicamente es así:
Código Apache:
Ver original
  1. RewriteRule ^categoria/([0-9]+)(|/)$ /categoria.php?id=$1
  2. RewriteRule ^informacion(|/)$ /informacion.php

De forma super sencilla y básica.
  #5 (permalink)  
Antiguo 31/05/2018, 02:40
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 8 años, 6 meses
Puntos: 4
Respuesta: URL amigable dependiendo de id

Cita:
Iniciado por Silenn Ver Mensaje
Hola compañero, es muy sencillo el proceso y básicamente es así:
Código Apache:
Ver original
  1. RewriteRule ^categoria/([0-9]+)(|/)$ /categoria.php?id=$1
  2. RewriteRule ^informacion(|/)$ /informacion.php

De forma super sencilla y básica.
Hola Silenn,

si, entiendo que con tu código, en la primera linea tengo categoria.php?id=1 y me lo pasa a categoria/1/ y que en la segunda tengo informacion.php y me lo pasa a /informacion/

Pero lo que yo quiero realmente es, de tener categoria.php?id=1 que sea informacion/

Y es donde estoy súper perdido. He estado investigando un poco y por lo que he visto podria tener una tabla de bbdd de esta manera

Código SQL:
Ver original
  1. ctg_id  ctg_url
  2.    1       informacion
  3.    2       contacto

Pero claro, mis categorias siguen una estructura de la manera que publiqué en este tema: http://www.forosdelweb.com/f18/pdo-m...enido-1161237/

No tengo ningún problema en añadir una columna nueva, pero para las subcategorias estará siempre en NULL.
  #6 (permalink)  
Antiguo 31/05/2018, 09:55
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.030
Antigüedad: 8 años, 8 meses
Puntos: 150
Respuesta: URL amigable dependiendo de id

para hacerlo mas facil, a la tabla de categorias que ya tienes: agrega un campo que bien se puede llamar URL, donde incluyas preferentemente URL sin espacios(puedes usar guion) y en minusculas.
luego en el link no vas a imprimir categoria.php?=[ctg_id] si no: href="/[ctg_url/" y de esta manera te aparecera la URL www.pagina.com/[ctg_url], no pienses que imprimes categoria.php?=4 y htaccess la cambiara, eso tienes que hacerlo en el codigo manualmente.

para las subcategorias tendras que ingeniarlas para que la url quede www.pagina.com/categoria/subcategoria jugando con los valores de htaccess y asi como te muestran en el ejemplo obteniendo 1 valor $1, obtener $2 que sera la id o url de subcategoria y trabajaras con ella
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #7 (permalink)  
Antiguo 06/06/2018, 01:49
 
Fecha de Ingreso: mayo-2011
Ubicación: Palma de Mallorca
Mensajes: 108
Antigüedad: 8 años, 6 meses
Puntos: 4
Respuesta: URL amigable dependiendo de id

Hola petit89,

primero de todo, pedir disculpas por dejar desatendido este tema (entre proyectos, temas personales y demás, a veces cuesta sacar tiempo).

Gracias por tu contribución, cada vez voy entendiendo más como funciona el .htaccess. Voy a aplicar lo que me comentáis a ver si consigo sacar un resultado satisfactorio.

Para las subcategorias no hará falta que tengan una URL, ya que el contenido si que tiene una FK a una subcategoria y básicamente el modelo de negocio es que cuando hago clic en información, hago la consulta que me trae todo el contenido con subcategoria que tenga como padre esa categoria y queda impreso en pantalla de esta manera:

Código HTML:
Ver original
  1. <h2> titulo_categoria </h2>
  2. <h4> titulo_subctg1 </h4>
  3. <p> contenido1_subctg1 </p>
  4. <p> contenido2_subctg1 </p>
  5. <h4> titulo_subctg2 </h4>
  6. <p> contenido1_subctg2 </p>
  7. ...

Gracias de nuevo y un saludo.

Etiquetas: amigables, htaccess, key, primary
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:05.