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

Puede que algo imposible con htacces y mod_rewrite

Estas en el tema de Puede que algo imposible con htacces y mod_rewrite en el foro de Apache en Foros del Web. Hola, Estoy intentando crear con el mod_rewrite urls amigables de una manera un tanto extraña. El caso es que paso como parámetro GET el id ...
  #1 (permalink)  
Antiguo 13/12/2010, 14:13
 
Fecha de Ingreso: diciembre-2010
Ubicación: Zamora
Mensajes: 2
Antigüedad: 13 años, 11 meses
Puntos: 0
Puede que algo imposible con htacces y mod_rewrite

Hola,

Estoy intentando crear con el mod_rewrite urls amigables de una manera un tanto extraña.

El caso es que paso como parámetro GET el id de, por ejemplo, un artículo que tengo en una base de datos (a ese id pertenecen otros campos como titulo, noticia, fecha, etc...). Algo así:
Cita:
http://pruebas.lan/pagina.php?id=3654
Ahora bien, cuando dije que era una manera un poco extraña me refería a que intento convertir la url anterior a:
Cita:
http://pruebas.lan/titulo-de-la-noticia-con-ese-id
Al no pasar el título como parámetro GET parece que dificulta un poco las cosas. No me interesa pasar el título como parámetro ya que puede haber alguno repetido.

¿Habría alguna forma de hacerlo?

De no ser así crearía otra columna en la tabla correspondiente con un título similar al original pero formateado (sin caracteres especiales) y único, para pasar como parámetro

Un Saludo
  #2 (permalink)  
Antiguo 18/12/2010, 16:10
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Puede que algo imposible con htacces y mod_rewrite

Prueba con esto


Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteRule ^titulo-de-la-noticia-([^_]*)$ /pagina.php?id=$1 [L]

con lo cual debes construir los links como

http://pruebas.lan/titulo-de-la-noticia-3654

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 30/12/2010, 16:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Puede que algo imposible con htacces y mod_rewrite

pues yo quiero hacer lo mismo pero sin que apaesca el numero

osea tienes esto
http://pruebas.lan/titulo-de-la-noticia-3654

pero quiero esto

http://pruebas.lan/titulo-de-la-noticia

pero refiriendome al mismo articulo se podra????
  #4 (permalink)  
Antiguo 04/01/2011, 07:15
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Puede que algo imposible con htacces y mod_rewrite

Esa opción no será posible, ya que si no pasas un ID por ejemplo, no hay forma de reconocer al registro en la base de datos.
  #5 (permalink)  
Antiguo 04/01/2011, 12:08
 
Fecha de Ingreso: febrero-2010
Mensajes: 31
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Puede que algo imposible con htacces y mod_rewrite

si porque el queire cambiar el id por el titulo!,

pero yo no te recomiendo eso, porque si ponene dos noticias cone l mismo titulo? el id es para que sea unico!,, deberias poner el titulo_ID como puso ahi @emprear@

Saludos!
  #6 (permalink)  
Antiguo 08/01/2011, 18:05
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 11 meses
Puntos: 11
Respuesta: Puede que algo imposible con htacces y mod_rewrite

Cita:
Iniciado por emprear Ver Mensaje
Prueba con esto


Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteRule ^titulo-de-la-noticia-([^_]*)$ /pagina.php?id=$1 [L]

con lo cual debes construir los links como

http://pruebas.lan/titulo-de-la-noticia-3654

saludos
Pues yo no entiendo para qué existe mod Rewrite si no puedes llamar a la url sólo "http://pruebas.lan/titulo-de-la-noticia-3654" porque se supone que si esta está asociada a la otra, entonces el id asociado a la otra ($1) pasaría también.

¿Qué otro método podría servir?
  #7 (permalink)  
Antiguo 09/01/2011, 10:36
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Puede que algo imposible con htacces y mod_rewrite

En primer lugar te digo que ModRewrite sirve para muchas otras cosas.
En este caso en particular, es para construir las denominadas url's amigables, que por otro lado es una de las consultas más frecuentes...

Si vos utilizás
http://pruebas.lan/titulo-de-la-noticia-3654
estas poniendo una url a algo (dejemos a un lado el hecho de que ni siquiera tiene extensión, o bién podria tratarse de una carpeta)

ModRewrite en .htaccess justamente transforma esa url (que ni siquiera existe como destino físico para un archivo o carpeta) en una variable que se pasa a el archivo pagina.php, ni más ni menos. Por supuesto que el $1 se corresponde a la ultima parte de la expresión (la que sigue al ultimo -), pero la gracia es justamente esa, hacer desaparecer la $query_string, para permitir un mejor indexado del buscador. Lo que en realidad es una página dinámica aparece como una página estática con el agregado de un elemento descriptivo (ni que decirte de la relevancia de las palabras claves de una búsqueda si están en la misma url)

Basta que veas los posts de FDW para ver como los titulos de los posts aparecen como parte de la url


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: imposible, htaccess
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:31.