Foros del Web » Programando para Internet » PHP »

URL amigables, usuarios, imagenes

Estas en el tema de URL amigables, usuarios, imagenes en el foro de PHP en Foros del Web. Holas compañeros del web. Les queria comentar que tengo un problema en el sistema de fotolog que se me dio por hacer. El problema es ...
  #1 (permalink)  
Antiguo 08/06/2008, 08:27
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 15 años, 11 meses
Puntos: 0
Exclamación URL amigables, usuarios, imagenes

Holas compañeros del web.
Les queria comentar que tengo un problema en el sistema de fotolog que se me dio por hacer.
El problema es el siguiente. Tengo un archivo que se llama user_flog.php. Los usuarios tienen la url:

myfotolog.com/user_flog.php?user=usuario.

Pero a mi me gustaría que sea asi:

myfotolog.com/usuario // queda mas lindo y sencillo

Bueno es esa la duda. Pienso que debe ser por eso de activar las "url´s amigables", on_rewrite. Pero aún asi, no me quedaria .com/usuario.

Me pueden ayudar porfis...
  #2 (permalink)  
Antiguo 08/06/2008, 08:32
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: URL amigables, usuarios, imagenes ¡Help!

hola, eso no es muy dificil

tienes que usar mod_rewrite, te voy a dejar un codigo, este debe estar guardado en el archivo .htaccess de tu directorio prinicpal (public_html)

Código:
RewriteEngine on
RewriteCond  %{REQUEST_URI}  !^/images
RewriteCond  %{REQUEST_URI}  !^/$
RewriteCond  %{REQUEST_URI}  !\..{3}$
RewriteRule  ^(.*)/?$ user_flog.php?user=$1
IMPORTANTE
Todas las carpetas que existan de verdad como por ejemplo "includes", "images" o esas carpetas que tu tengas definidas y no quieras que sean parte de tu "url amigable" debes especificarla como

RewriteCond %{REQUEST_URI} !^/LA_CARPETA_ACA

yo lo hice con /images para que veas un ejemplo, saludos y suerte :)
__________________
Roberto Osses Elgueta
Senior Web Developer
  #3 (permalink)  
Antiguo 08/06/2008, 08:38
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: URL amigables, usuarios, imagenes ¡Help!

Gracias! Veo el codigo que me pasaste para el .htacces, pero la verdad que no lo comprendo.
Me da la sensacion de que RewriteCond "esconde" determinadas cosas de la url, pero la verdad que no se bien.

Me podrian hacer los comentarios de las lineas, si no es mucha molestia?

gracias
  #4 (permalink)  
Antiguo 08/06/2008, 09:08
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: URL amigables, usuarios, imagenes ¡Help!

Bien

recordemos %{REQUEST_URI} es la url que requieres

Código PHP:
RewriteEngine on 
// pongamos la maquina rewrite de apache en on

RewriteCond  %{REQUEST_URI}  !^/images 
// fijate en el ! except que pusimos para que no tome ese directorio, y va antes de la regla de rewrite para que lo tome antes de la transformacion
 
RewriteCond  %{REQUEST_URI}  !^/$
// debes tomar la condicion con el directorio principal tambien , si no quieres ir a flog_user.php?=(vacio)

RewriteCond  %{REQUEST_URI}  !..{3}$
// esta condicion no la recuerdo plenamente me parece que era para los directorios anteriores (mail, etc), aqui no estoy seguro pero por algo la agrege, yo la tengo en una web donde hize esto xD

RewriteRule  ^(.*)/?$ user_flog.php?user=$1
// Ahora escribes la regla, que cualquier cosa que no este en las condiciones va a ir al archivo user_flog.php?user=campo, el $1 sustituye lo que va despues del / (mira el /?) y me esta definiendo la estructura de dominio seguido del directorio. 
Ojala te halla quedado mas claro, trate de hacerlo entendible
saludos
__________________
Roberto Osses Elgueta
Senior Web Developer
  #5 (permalink)  
Antiguo 08/06/2008, 09:37
Avatar de nixspatin  
Fecha de Ingreso: mayo-2008
Mensajes: 113
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: URL amigables, usuarios, imagenes

Ah!! ya comprendo! muchas gracias Roko!!!!
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 05:14.