Foros del Web » Administración de Sistemas » Apache »

Ayuda con mod rewrite de Apache y otras dudillas relacionadas

Estas en el tema de Ayuda con mod rewrite de Apache y otras dudillas relacionadas en el foro de Apache en Foros del Web. No sabía bien dónde poner este tema, así que si está mal ubicado, le pido por favor a algún mod que me lo mueva donde ...
  #1 (permalink)  
Antiguo 25/06/2009, 11:07
Avatar de unreal4u  
Fecha de Ingreso: octubre-2008
Mensajes: 72
Antigüedad: 15 años, 6 meses
Puntos: 10
Ayuda con mod rewrite de Apache y otras dudillas relacionadas

No sabía bien dónde poner este tema, así que si está mal ubicado, le pido por favor a algún mod que me lo mueva donde corresponda.

El tema es el siguiente:

Tengo mi página, y quisiera implementar URL amigables, pero mi problema surge cuando intento hacer pasar más de 1 variable por GET.

Mi .htaccess actual:
Código:
RewriteEngine On
RewriteBase /nuevo/
RewriteRule ^([a-z,0-9,-,_]+)$ /nuevo/index.php?userid=$1 [L,QSA]
Por el momento he logrado:

Código:
ejemplo.com/nuevo/unreal4u 
userid = unreal4u 
s = (vacio)

ejemplo.com/nuevo/unreal4u?s=pagina
userid = unreal4u
s = pagina
Pero si ingreso:
Código:
ejemplo.com/nuevo/unreal4u/pagina
para que quede:
Código:
userid = unreal4u
s=pagina
me entrega un 404 supongo que es pq no encuentra la carpeta unreal4u :(

Intenté con esta regla:
Código:
RewriteEngine On
RewriteBase /nuevo/
RewriteRule ^([a-z,0-9,-,_]+)$ /nuevo/index.php?userid=$1&s=$2 [L,QSA]
pero tampoco funciona :(

Alguien sabe cómo podría hacer esto?
Se los agradecería muchísimo :)

Saludos !!
  #2 (permalink)  
Antiguo 25/06/2009, 11:42
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 2 meses
Puntos: 2114
Respuesta: Ayuda con mod rewrite de Apache y otras dudillas relacionadas

Tema movido desde el foro de Posicionamiento SEO
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #3 (permalink)  
Antiguo 25/06/2009, 13:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con mod rewrite de Apache y otras dudillas relacionadas

Prueba así:
Código Apache:
Ver original
  1. RewriteRule ^([a-z0-9_-]+?)/(.+)$ /nuevo/index.php?userid=$1&s=$2 [L,QSA]
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 25/06/2009, 13:17
 
Fecha de Ingreso: diciembre-2008
Mensajes: 84
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ayuda con mod rewrite de Apache y otras dudillas relacionadas

Si te vale de algo yo uso mucho url amigables y me funciona bien asi...

Código:
RewriteEngine On
#------------------------------------------------------------
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$
index.php?variable1=$1&variable2=$2&variable3=$3 [L,NC]
y para no perder imagenes etc de la web, en el head...

Código:
<base href="loquesea.com/" />
Un saludo.
  #5 (permalink)  
Antiguo 25/06/2009, 14:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con mod rewrite de Apache y otras dudillas relacionadas

Tema trasladado desde PHP
  #6 (permalink)  
Antiguo 25/06/2009, 16:08
Avatar de unreal4u  
Fecha de Ingreso: octubre-2008
Mensajes: 72
Antigüedad: 15 años, 6 meses
Puntos: 10
Respuesta: Ayuda con mod rewrite de Apache y otras dudillas relacionadas

muchas gracias a los mods por mover el tema donde correspondía ;)

Cita:
Iniciado por rafamadrile Ver Mensaje
Si te vale de algo yo uso mucho url amigables y me funciona bien asi...

Código:
RewriteEngine On
#------------------------------------------------------------
RewriteRule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$
index.php?variable1=$1&variable2=$2&variable3=$3 [L,NC]
y para no perder imagenes etc de la web, en el head...

Código:
<base href="loquesea.com/" />
Un saludo.
Me funcionó a la perfección :D Especialmente pq se me había olvidado tomar en cuenta las mayúsculas y desactivar el case-sensitive, eso si en el base href hay que poner
Código:
href="ht tp: //loquesea.com/"
El http va todo junto, no puedo poner urls todavía por noob xD
y a partir de ahí no hubo problemas en cuanto a imágenes y estilo :D

Pero hubo un pequeño problema :P

cuando ingreso:
Código:
ejemplo.com/nuevo/unreal4u
me tira un 404 :(
Lo bueno es que ya sabiendo bien cómo solucionar el primero, solucioné el segundo :D

Al final mi .htaccess quedó así:
Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteBase /nuevo/
  3. RewriteRule ^([a-zA-Z0-9-_]+?)$ /nuevo/index.php?userid=$1 [NC]
  4. RewriteRule ^([a-zA-Z0-9-_]+?)/([a-zA-Z0-9-]+)$ /nuevo/index.php?userid=$1&s=$2 [L,NC]

Sé que es una solución muy "sucia", pero por mientras funciona: primero evalúa si viene un valor via GET, y también revisa si vienen dos. Si vienen dos, le puse LAST y bueno, no case sensitive a ambos. (También voi a tener que validar esto en PHP)

En fin... si alguien sabe cómo juntar todo en una sola línea, pues bienvenido sea :D

@David: Probé también tu solución, y aunque funcionó para dos GET, también perdía el estilo, y aunque le pusiera también el <base>, tampoco pescaba... Sin embargo, también te agradezco puesto que de htacces no sé mucho pero me interesa el tema, se pueden hacer muchísimas cosas locas :D
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 03:38.