Foros del Web » Programando para Internet » PHP »

Título en URL Amigable

Estas en el tema de Título en URL Amigable en el foro de PHP en Foros del Web. Hola a todos/as. Tengo una duda. a ver. os cuento. estoy diseñando mis reglas para hacer las url amigables mediante htaccess. el tema es el ...
  #1 (permalink)  
Antiguo 31/05/2010, 04:03
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Título en URL Amigable

Hola a todos/as. Tengo una duda. a ver. os cuento. estoy diseñando mis reglas para hacer las url amigables mediante htaccess. el tema es el siguiente. tengo en los enlaces esta forma:

Código PHP:
<a href="ficha,$datos[codart]\"> Seguir Leyendo... </a> 
Donde la variable $datos[codart] es un código de un determinado artículo.

En htaccess tengo lo siguiente:

Código PHP:
RewriteRule ^ficha,([A-Za-z0-9-]+)/?.htmlficha.php?cod=$[L
De tal modo que si yo le paso mediante el enlace esto:
Código PHP:
<a href="ficha,0896532e\"> Seguir Leyendo... </a> 
El htaccess me lo interpreta así:
Código PHP:
ficha.php?cod=0896532e 
y en la barra del navegador la url es esta:

www.miweb.com/ficha,0896532e

bien. esa variable $datos[codart] corresponde a un artículo que, obviamente, en la base de datos tiene un título. ¿Cómo configuro todo para que en la barra de navegación, la url sea el título que le corresponde a ese código en lugar del código, es decir, que la ruta fuera esta:

http://www.miweb.com/ficha,Nuevo-Pla...llo-De-Jupiter

__________________
desgraciadamente no conozco php ni la mitad de lo que lo conocen ustedes y eso es menos de la mitad de lo que yo querria y lo que yo querria es menos de la mitad de lo que la mitad de ustedes conocen

Última edición por estibaliz2006; 31/05/2010 a las 04:08
  #2 (permalink)  
Antiguo 31/05/2010, 11:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Título en URL Amigable

pues es igual.... en lugar de imprimir el código imprimes el titulo...

y bueno, la consulta debe ser igual por el titulo... no lo crees así??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/05/2010, 13:13
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Título en URL Amigable

querido pateketrueke tienes algo contra mí? de verdad es que no puedo contigo. si no quieres ayudarme no hace falta que me humilles en todos los post que pongo...
__________________
desgraciadamente no conozco php ni la mitad de lo que lo conocen ustedes y eso es menos de la mitad de lo que yo querria y lo que yo querria es menos de la mitad de lo que la mitad de ustedes conocen
  #4 (permalink)  
Antiguo 31/05/2010, 18:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Título en URL Amigable

Cita:
Iniciado por estibaliz2006 Ver Mensaje
querido pateketrueke tienes algo contra mí? de verdad es que no puedo contigo. si no quieres ayudarme no hace falta que me humilles en todos los post que pongo...
no para nada... nadie te está humillando, ¿eso crees tu??

nada tengo en contra tuya.. pero es que al responderte tu mismo con una queja de incapacidad da pauta a ser un poquito cómico.... no mas... ;)

pero bueno, según lo que interpretes ahí está la pista!!

Cita:
Iniciado por pateketrueke Ver Mensaje
pues es igual.... en lugar de imprimir el código imprimes el titulo...
Código PHP:
<a href="ficha,$datos[tituloart]\"> Seguir Leyendo... </a> 
y por acá sigue la cosa...
Cita:
y bueno, la consulta debe ser igual por el titulo... no lo crees así??
Código PHP:
RewriteRule ^ficha,([A-Za-z0-9-]+)/?.htmlficha.php?titulo=$[L
pero bueno.... en resumen el concepto solo difiere en variables..

como sugerencia, y para dar mas consistencia a la implementación es conveniente almacenar dos columnas en nuestra base de datos: una para el titulo original, y otra con el mismo valor normalizado... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 01/06/2010, 00:01
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Título en URL Amigable

pero vamos a ver si yo me aclaro:

1) antes de hacer nada tengo este tipo de enlaces:

Código PHP:
<a href="ficha.php?cod=0896532e">Seguir Leyendo</a
donde lo que pasa a la página ficha.php es la variable $cod que es un código. Por lo tanto, en la página ficha.php lo primero que hacemos es recoger esa variable para poder procesar toda la información.

Código PHP:
$cod=$_GET['cod']; 
bien. nos metemos en el tema de las url amigables. y ahora digo, bueno pues en lugar de ese enlace, que me aparezca este por ejemplo: www.midominio.com/ficha,0896532e

y anoto lo que ya os he dicho:
Código PHP:
<a href="ficha,$datos[codart]"Seguir Leyendo... </a
donde $datos[codart] es el valor de la variable recogido de una base de datos.

Bien. en .htaccess tengo:

Código PHP:
RewriteRule ^ficha,([A-Za-z0-9-]+)/?$ ficha.php?cod=$[L
Si como dices solo sustituyo variables, si en lugar de $datos[codart] pongo $datos[tituloart] en el enlace tendría:

Código PHP:
<a href="ficha,$datos[tituloart]"Seguir Leyendo... </a
pero en .htaccess si pongo lo que me dices me da este error, aparte de que no sería lógico porque la página ficha.php procesa la variable $cod que es el código y no la variable titulo.
__________________
desgraciadamente no conozco php ni la mitad de lo que lo conocen ustedes y eso es menos de la mitad de lo que yo querria y lo que yo querria es menos de la mitad de lo que la mitad de ustedes conocen
  #6 (permalink)  
Antiguo 01/06/2010, 00:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Título en URL Amigable

bien... aquí está la razón lógica: como lo haces ahora, usas un código... el cual es fácil de leer, y usar para una consulta... no lo dudo...

pero si deseas usar el titulo de una noticia, ¿como saber a que ID/código se refiere??

esa es la razón y te pido que utilices tu sentido común... si, ficha procesa el código como haces hasta ahora... pero si piensas cambiar el comportamiento de los enlaces, también debes cambiar el comportamiento de dicho script...

entiendes la lógica??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 01/06/2010, 02:01
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Título en URL Amigable

bueno....solucionado...para el que le interese....yo lo único que quería era que en la barra de navegación apareciera la forma codigo/titulo, aunque luego obviamente recogiera en ficha.php la variable $cod que era la única que pasaba. cómo lo he hecho? así:

enlaces:
Código PHP:
<a href="<?php echo "articulos/" $datos["codart"] . "/" $datos["tituloart"] . ""?>" class="mas">Seguir Leyendo...</a>
en el .htaccess:

Código PHP:
RewriteRule ^articulos/(.+)/(.+) ficha.php?cod=$[L
resultado en la barra de navegación:
pues cuando sin url amigables la dirección era:
http://www.misitio.com/ficha.php?cod=0896532e

ahora es de este modo:

http://www.misitio.com/articulos/0896532e/Mi Titulo

cuál es el problema que tengo ahora? pues el problema son las rutas relativas y las rutas absolutas. todo lo tengo en rutas relativas (imágenes, css, scripts...) con lo cual, no se cargan al utilizar estas reglas para las url amigables. he tratado de ir a la solución fácil, meter entre los <head></head> la famosa <base href=" http://www.misitio.com/"> pero nada de nada. no me funciona (no uso explorer, utilizo firefox).

otra cosa que se me ocurre es definir una variable $patch donde almacene mi ruta http://www.misitio.com y luego introducirla en las imágenes, css, etc... así quedaría del tipo <img src="<?=$path?>miimagen.jpg"> pero mi pregunta es: no hay alguna otra forma más rápida y menos trabajosa que ir sustituyendo uno a uno todos los enlaces a imágenes y css?
__________________
desgraciadamente no conozco php ni la mitad de lo que lo conocen ustedes y eso es menos de la mitad de lo que yo querria y lo que yo querria es menos de la mitad de lo que la mitad de ustedes conocen

Etiquetas: url, amigables
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 16:15.