Autor
|
Tema: Urls Amigables (solo con el titulo) (Leído 3,814 veces)
|
Alex_bro
Desconectado
Mensajes: 1.246
|
Buenas, busque por la red y por el foro pero lo maximo que encontre para un sistema de noticias es del tipo /ID/titulo-y-tal pero eso no me gusta, por que si tenemos 1 millon de noticias ya el id ya quedando mal... y mi idea seria que la id de la noticia fuera sacada del titulo pasado por url. Pense en codificar a md5 el nombre pasado por url para usarlo como ID de la noticia, pero no se si tiene inconvenientes de performace o de otro tipo, que opinan ustedes? o hay formas mas recomendables?
Resumiendo estoy formando mi sistema de noticias propio y para las url me gustaria pasar tipo /06/02/2007/titulo-de-la-noticia/ y no teniendo que pasar una variable mas con la id de la noticia. Respecto a lo anterior mejor asi o la fecha con - en vez de / ? (no se si depende del gusto o que los buscadores vean demasiada profundidad de dirs...).
Por cierto... si tienen urls donde se hable a fondo del tema (y no se centre tanto en modrewrite sino mas en el tema...) les agracederia que las pusieran.
Muchas gracias.
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
A ver si te entendí: #user.php?nombre=manuel #index/user/manuel
#De URL extensa:
#./index.php?categoria=monitores&productoID=12345
#En URL amigable:
#./index/categoria,monitores/productoID,12345/
Options +FollowSymLinks RewriteEngine on
#sintaxis ^(.*)=cualquier nombre / es igual a una barra en la url (.*) segundo parametro / otra barra (.*) tercer parametro #$1.php?$2=$3
Rewriterule ^(.*)/(.*)/(.*)$ $1.php?$2=$3
|
|
|
En línea
|
|
|
|
Alex_bro
Desconectado
Mensajes: 1.246
|
Creo que no es eso que dices... Lo que publicas es un ejemplo de modrewrite, pero el problema es mas de php que de htaccess. El caso es que estoy tratando de hacer un sistema de noticias, y para hacerlo con urls amigables por todos lados dicen que tengo que poner la id en la url tipo noticias/ID/Titulo (quedando el titulo que no sirve para nada, solo decorando la url) y yo lo que quiero es no tener que meter la id en la url, sino que del titulo que se pasa por url ya un script saque la id de la noticia. Pense tambien en un array con todos los titulos y sus correspondientes ids, pero se haria demasiado pesado con el tiempo, y por ello dije de cifrar el titulo en md5, con lo que se consigue una unica id irrepetible y que nunca excede los 18 caracteres, y asi evitando que con una id pueda llegar a millones... pero no se si el md5 es lo mas apropiado...
Saludos.
|
|
« Última modificación: 23 Agosto 2007, 00:07 am por Roberto T. »
|
En línea
|
|
|
|
Ertai
|
En ese caso, usar md5 sería una buena idea.
No tienes porque preocuparte por md5 repetidos, pues es algo muy improbable. Aun así, eso solo tendria que preocupar a la hora de añadir una noticia, comprobando que no exista un md5 igual.
|
|
|
En línea
|
Si la felicidad se comprara, entonces el dinero sería noble. void rotar_by_ref(int& a, int& b) { /* Quien dijo que no se podia sin una variable temporal? */ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; }
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Ahh ya entendí, te paso una función que me encontré por ahí: $variable=md5(uniqid(rand(), true));
Saludos
|
|
|
En línea
|
|
|
|
Alex_bro
Desconectado
Mensajes: 1.246
|
Muchas gracias a los 2, ha sido de gran ayuda. Voy a postear aqui basicamente lo que pretendo hacer, ya que no me convence demasiado...
Imaginemos que ya hay creada una noticia, con el titulo "Elhacker.net, nuevos cambios" con lo que la entrada por url seria "elhacker-net-nuevos-cambios" y su correspondiente md5 "21a1e8caab2517da7bbd19bc246c6abd" y ya esta en la base de datos etc.
Ahora una regla en htaccess que transforma /noticias/03052007/(.*) a noticias.php?ti=$1
en noticias.php se haria algo como $id = md5($_GET['ti'];); y ya se haria un llamado a la base de datos utilizando ese id para sacar el titulo, contenido y demas de la noticia.
Seria totalmente seguro? creo que no hay que limpiar las variables pasadas por que se cifra y no se puede hacer SQL Injection no?
Como lleva en la url la fecha y nombre... no creo que nadie publicara el mismo dia 2 noticias con el mismo nombre... como no sea en casos muy puntuales tipo "Sube la bolsa" etc... pero ni en eso creo que se repita...
Ustedes creen que tiene logica esto de omitir la id y hacer las urls mas limpias o seria mejor incluir una id y se simplifica todo? recuerdo que el problema era poner las id en la url por que con el tiempo se harian muy largas... Tienen alguna otra idea para no usar ids que se incrementen? tal vez mezclas de numeros y letras como hace por ejemplo yahoo?
Saludos y muchas gracias. PD: acabo de acordarme que hace unos dias vi que wordpress tampoco usaba ids en las entradas, solo se pasaba el titulo de la noticia por la url, pero no conseguia ver el codigo en claro, alguien tiene un manual para hacer algo como su sistema para reconocer las entradas? o un miniresumen de como lo hace y ya lo investigo yo... grax.
|
|
« Última modificación: 23 Agosto 2007, 00:54 am por Roberto T. »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
URLs Amigables a profundidad ? (solved)
PHP
|
Diabliyo
|
4
|
8,274
|
8 Febrero 2011, 00:04 am
por Diabliyo
|
|
|
on() de jquery+htaccess+urls amigables... no consigo hacerlo...
Desarrollo Web
|
NataliaV
|
3
|
3,170
|
17 Septiembre 2012, 20:34 pm
por MinusFour
|
|
|
problema urls amigables...
PHP
|
Rk_PetIT
|
0
|
1,561
|
2 Agosto 2013, 00:35 am
por Rk_PetIT
|
|
|
urls amigables htaccess
Programación General
|
sirkiu
|
1
|
2,028
|
11 Diciembre 2015, 19:48 pm
por sirkiu
|
|
|
[APORTE]: Cómo usar urls amigables con el servidor web incorporado a PHP
PHP
|
mchojrin
|
0
|
1,630
|
19 Julio 2019, 00:54 am
por mchojrin
|
|