Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Diabliyo en 27 Enero 2011, 02:33 am



Título: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Diabliyo en 27 Enero 2011, 02:33 am
Simepre que codifico una aplicacion utilizo las tipicas variables y forma de procesar tipico, por ejemplo:

?id=enviar
?id=Xcosa
?id=NUMOER&op=registro

Vaya en la barra de navegacion se ve el tipico: misitio.com/?id=variable&op=operacion&otravar=otrodato y asi puede ir creciendo el URL...

Pero he notado que otros sitios no muestras las varaibles y muestran algo asi: http://misitio.com/guardar/registro, donde a simple vista podria decir utilizan directorios multiples con codig en cada directorio ?, o por ejemplo, en Blogs cuando haces clic en un tag, la URL cambia a misitios.com/tag/COSA.

La verdad no se por donde empezar a buscar, y pues si tienen algun tip o enlace que explique esta forma de hacer webs se agradece !.

--- EDITADO ----

Tambien he visto por ejemplo el SMF (software para foros web), te permite elegir como se ve la URL, puedes elegir que la URL a tus temas se vean asi: miforo.com/?post=NUMERO o asi miforo.com/nombre-del-post-a-leer/.

Saludos !


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Feedeex en 27 Enero 2011, 02:39 am
Se les dice URLS amigables: http://www.baluart.net/articulo/urls-amigables-con-php


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Graphixx en 27 Enero 2011, 02:49 am
Tambien he visto por ejemplo el SMF (software para foros web), te permite elegir como se ve la URL, puedes elegir que la URL a tus temas se vean asi: miforo.com/?post=NUMERO o asi miforo.com/nombre-del-post-a-leer/.

Saludos !

Alguien sabe como configurar esta opcion para que me muestre en vez del numero, los nombres de cada post, en SMF 2.0 RC3, gracias.


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: bomba1990 en 27 Enero 2011, 03:30 am
@Diabliyo

bueno para hacer eso, tienes dos opciones. como dijo @Feedeex url amigables, o tambien algun framework como codeigniter ya traen implementado las dirrecciones asi. sin necesidad de url amigables.

@Graphixx

eso que tu quieres saber se logra facilmente, solamente se pone en la sentencia sql en ves de buscar por el codigo se busca por el nombre. en este post de tifa http://foro.elhacker.net/bases_de_datos/optimizacion_mysql_para_programadores_y_dba-t274965.0.html;msg1367192#msg1367192  ella habla sobre las optimizacion para busqueda en la base de datos y hay una en especial que plantea un problema parecido y la solucion que ella le dio es muy buena, revisala.


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Castg! en 27 Enero 2011, 05:16 am
@Graphixx

podes usar como hace este foro, que muestra el nombre del post o parte del nombre, mas un "t20058493.0" que indica el nuemro id del topic mas la pagina.

@Diabliyo

tambien podes usar PHP, haciendo algun preg_split o explode al URI


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Nakp en 27 Enero 2011, 05:19 am
@diabliyo: lo que dice bomba1990 es cierto, se le pasan los parametros a index.php/param/param de forma automatica en el servidor, sin embargo la mayoria usamos mod_rewrite de apache (creo que tambien esta disponible en lhttpd y en ISS hay una alternativa)

Alguien sabe como configurar esta opcion para que me muestre en vez del numero, los nombres de cada post, en SMF 2.0 RC3, gracias.

en la configuracion del servidor se activa, pero tambien hay plugins como simplesef que mejoran esta funcion :P


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: bomba1990 en 27 Enero 2011, 05:33 am


no habia leido lo del  smf, jejeje. disculpa por mi respuesta qu eno tiene nada que ver.

Alguien sabe como configurar esta opcion para que me muestre en vez del numero, los nombres de cada post, en SMF 2.0 RC3, gracias.


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Lunfardo en 28 Enero 2011, 14:16 pm
no es mas facil hacer request a un pagina php con javascrip, leer la respuesta e imprimiarla  :huh:


la url nunca cambia, todo pasa underground


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Castg! en 28 Enero 2011, 18:47 pm
no es mas facil hacer request a un pagina php con javascrip, leer la respuesta e imprimiarla  :huh:


la url nunca cambia, todo pasa underground

amigo creo q te equivocaste de tema. para pasar un topic por la url, se necesita un identificador para consultar la base de datos, y javascript no juega mucho en eso.


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Lunfardo en 28 Enero 2011, 22:10 pm
amigo creo q te equivocaste de tema. para pasar un topic por la url, se necesita un identificador para consultar la base de datos, y javascript no juega mucho en eso.


 :huh: base de datos ? , no jaja, me referia algo asi :


Código
  1.    xmlHttp.open("GET","paginaphp.php?id=X",false);
  2.    xmlHttp.send(null);
  3.    Divref=  document.getElementById("SoyUnDiv");
  4.    Divref.innerHTML= xmlHttp.responseText;
  5.  


una cosa asi , entonces la url solo mostraria algo asi como :"www.ejemplo.com/hola.html"


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Castg! en 29 Enero 2011, 00:35 am
no termino de comprender tu idea


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: #!drvy en 29 Enero 2011, 19:26 pm
Se puede hacer por javascript también como indico @SmogMX, pero a diferencia de mod_rewrite por ejemplo, Google no contaria con el javascript por lo tanto los enlaces seguirían siendo los mismos y el señor Google no estará contento con ellos. Aparte si un usuario quisiera copiar la url de un tema o post especifico no podría puesto que lo que vera únicamente es la url de la pagina principal o desde la que se llama la función javascript.




Saludos


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: :ohk<any> en 29 Enero 2011, 20:43 pm
Urls amigables usando mod_rewrite. Nakp sabe todo ;D


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Diabliyo en 30 Enero 2011, 07:27 am
Esto implemente:

.htaccess
Código:
Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.+)$ index.php
RewriteRule ^hoja/(.+)\-(.+)\.html$ ?hoja=$1
RewriteRule ^(.+)/$ ?ver=$1

Ojo con la linea 3, 4 y 5, haber si me ayudan a verificar si estoy en lo correcto...

La LINEA 3 quiero que interprete el: index.php
La LINEA 4 quiero que interprete: sitio.com/hoja/numeronoticia-titulo_de_la_noti_cia.html como ?hoja=numeronoticia
La LINEA 5 quiero que interprete: sitio.com/categoriaseccion/ como ?ver=numerocategoriaseccion

Para la Linea 4 es mas que obvio que tendre que hacer un explode, ya que el simbolo - delimitara a la izquierda el numero de la noticia y a la derecha el titulo, del cual solo tomare el de la izquierda.


Funcionaria ?



Por otra parte, tengo broncar para que se imprima bien el sitio :(, aqui tengo otro hilo para no mezclarlo con este:

http://foro.elhacker.net/php/modrewrite_urls_amigables_problema_para_que_el_sitio_se_vea_bien-t318170.0.html


Título: Re: Programar sitio para trabajar con URL sin el tipoco ?id=X
Publicado por: Lunfardo en 31 Enero 2011, 10:41 am
Se puede hacer por javascript también como indico @SmogMX, pero a diferencia de mod_rewrite por ejemplo, Google no contaria con el javascript por lo tanto los enlaces seguirían siendo los mismos y el señor Google no estará contento con ellos. Aparte si un usuario quisiera copiar la url de un tema o post especifico no podría puesto que lo que vera únicamente es la url de la pagina principal o desde la que se llama la función javascript.
Saludos

es verdad que google se lleva mal con este tipo de tecnicas =P , la que mas uso hoy en dia es esconder y mostrar divs(css) con javascript y preguntar al servidor solo cosas expecificas, igualmente no me queria ir mucho