Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/01/2011, 16:12
Avatar de ecarlevaro
ecarlevaro
 
Fecha de Ingreso: octubre-2010
Ubicación: Paraná, Argentina
Mensajes: 80
Antigüedad: 13 años, 6 meses
Puntos: 13
Respuesta: Cómo crear una pagina perfil del usuario

Justamente anoche me quedé leyendo sobre mod_rewrite en el sitio de Apache y demás y cuando acordé eran las 3 AM.

Recuerda siempre como funciona mod_rewrite de Apache, al crear una regla uno le "enseña" a Apache a que interprete la URL amigable como la URL no-amigable (la real).

La regla que tú tienes es para una variable, pero tu necesitas dos variables ahora, pues tienes,
miweb.com/perfil/nombreusuario
donde perfil y nombreusuario son las variables.

Modificando la regla que tienes, para dos variables tenemos:
Código Apache:
Ver original
  1. RewriteRule ^([a-zA-Z0-9])/([a-zA-Z0-9])$ index.php?var1=$1&var2=$2 [L,NC]
donde index.php es el script que recibirá las dos variables.

En index.php el código a usar sería:
Código PHP:
Ver original
  1. // Capturamos las variables y las convertimos en matriz como si fuera $_GET
  2. $variables = explode('/',$_SERVER['REQUEST_URI']);
  3.  
  4. // Y aquí ya jugamos con las variables como querramos
  5. echo "Variable 1:".$variables[0];
  6. echo "Variable 2:".$variables[1];

Lo que desconozco y no he logrado es hacer una regla para que no importa cuantas variables pase las reescriba. Es decir, que si entro con miweb.com/var1 le pase var1 al script index.php de la misma forma que si entro con miweb.com/var1/var2 le pase las dos variables a index.php. Intenté colocando las dos reglas, para una variable y para dos en el htaccess pero no me las toma a las dos...