Foros del Web » Administración de Sistemas » Software para Servers »

[SOLUCIONADO] Problema con URL amigables

Estas en el tema de Problema con URL amigables en el foro de Software para Servers en Foros del Web. El caso es que estoy desesperado, no estoy muy ducho con mod_rewrite y no consigo que me traduzca lo siguiente: Código: wwww.miweb.com/algo vaya a : ...
  #1 (permalink)  
Antiguo 08/01/2014, 10:49
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Pregunta Problema con URL amigables

El caso es que estoy desesperado, no estoy muy ducho con mod_rewrite y no consigo que me traduzca lo siguiente:

Código:
wwww.miweb.com/algo
vaya a :
www.miweb.com/index.php?modulo=algo

y que:

wwww.miweb.com/algo/algomas
vaya a :
www.miweb.com/index.php?modulo=algo&submodulo=algomas
no me da salido y he removido roma con santiago.
A ver si alguien con mas experiencia me dice como hacerlo.

Muchas gracias.
  #2 (permalink)  
Antiguo 08/01/2014, 11:02
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Problema con URL amigables

¿Y qué cosas probaste? Realmente es muy simple de hacer eso.
  #3 (permalink)  
Antiguo 08/01/2014, 12:06
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

Cita:
Iniciado por pzin Ver Mensaje
¿Y qué cosas probaste? Realmente es muy simple de hacer eso.
Código:
Rewriterule ^certificado/(.+) index.php?modulo=certificado&codigo=$1
la web es

http://cualificate.com/index.php?mod...odigo=AFDA0109
  #4 (permalink)  
Antiguo 09/01/2014, 05:23
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

¿nadie sabe nada?
  #5 (permalink)  
Antiguo 09/01/2014, 06:10
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Problema con URL amigables

Algo así podría servir:

Código Apache:
Ver original
  1. RewriteEngine On
  2.  
  3. # /algo -> /index.php?modulo=algo
  4. RewriteRule ^/algo/?$ index.php?modulo=algo
  5.  
  6. # /algo/algomas -> /index.php?modulo=algo&submodulo=algomas
  7. RewriteRule ^/algo/algomas/?$ index.php?modulo=algo&submodulo=algomas
  8.  
  9. # /algo/algomas, /algo/algo_menos, /algo/algo-igual123, etc -> /index.php?modulo=algo&submodulo=XXX
  10. RewriteRule ^/algo/[\w-]/?$ index.php?modulo=algo&submodulo=$1

Aunque lo ideal es que leas algo acerca de expresiones regulares.
  #6 (permalink)  
Antiguo 09/01/2014, 11:26
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

Cita:
Iniciado por pzin Ver Mensaje
Algo así podría servir:

Código Apache:
Ver original
  1. RewriteEngine On
  2.  
  3. # /algo -> /index.php?modulo=algo
  4. RewriteRule ^/algo/?$ index.php?modulo=algo
  5.  
  6. # /algo/algomas -> /index.php?modulo=algo&submodulo=algomas
  7. RewriteRule ^/algo/algomas/?$ index.php?modulo=algo&submodulo=algomas
  8.  
  9. # /algo/algomas, /algo/algo_menos, /algo/algo-igual123, etc -> /index.php?modulo=algo&submodulo=XXX
  10. RewriteRule ^/algo/[\w-]/?$ index.php?modulo=algo&submodulo=$1

Aunque lo ideal es que leas algo acerca de expresiones regulares.
el caso es que lo tuyo tampoco me funciona

pero con la sentencia

Código Apache:
Ver original
  1. RewriteRule ^(\w+)/?$ index.php?modulo=$1

ya he conseguido que por ejemplo...
http://www.cualificate.com/familias
...redirija a...
http://www.cualificate.com/index.php?modulo=familias
...y así sucesivamente.

ahora estoy intentando que me funcione con el segundo parámetro tambien (pero no lo consigo)
Estoy usando esta sentencia que no me funciona:

Código Apache:
Ver original
  1. RewriteRule ^(\w+)/(\w+)?$ index.php?modulo=$1submodulo=$2

para que por ejemplo
http://www.cualificate.com/enlaces/murcia
me lo traduzca a:
http://www.cualificate.com/index.php...bmodulo=murcia

¿podrías ayudarme con el segundo ejemplo?

Última edición por spect; 09/01/2014 a las 13:24
  #7 (permalink)  
Antiguo 09/01/2014, 15:09
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Problema con URL amigables

No lo repasé.

Código Apache:
Ver original
  1. RewriteRule ^[\w-]+/[\w-]+/?$ index.php?modulo=$1&submodulo=$2

Así debería de funcionar bien.

Aunque casi mejor agrupar los módulos que tengas, no creo que sean tantos. Por aquello de que no valga cualquier cosa. A menos que tires errores 404 cuando esos módulos no existan desde PHP.

Código Apache:
Ver original
  1. RewriteRule ^(unmodulo|otro|otromas)+/[\w-]+/?$ index.php?modulo=$1&submodulo=$2
  #8 (permalink)  
Antiguo 10/01/2014, 16:07
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

Cita:
Iniciado por pzin Ver Mensaje
No lo repasé.

Código Apache:
Ver original
  1. RewriteRule ^[\w-]+/[\w-]+/?$ index.php?modulo=$1&submodulo=$2

Así debería de funcionar bien.

Aunque casi mejor agrupar los módulos que tengas, no creo que sean tantos. Por aquello de que no valga cualquier cosa. A menos que tires errores 404 cuando esos módulos no existan desde PHP.

Código Apache:
Ver original
  1. RewriteRule ^(unmodulo|otro|otromas)+/[\w-]+/?$ index.php?modulo=$1&submodulo=$2
tengo unos 600 modulos por eso necesito una que valga para todas
tu sentencia sigue sin funcionarme, la primera $1 si que me lo traduce pero $2 no.
La verdad es que parece facil pero está resultando bastante complicado, estoy atacando las expresiones regulares y a mi tampoco me sale.
  #9 (permalink)  
Antiguo 12/01/2014, 11:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Problema con URL amigables

Para que se guarde en una variable tienes que ponerlo entre paréntesis:

Código Apache:
Ver original
  1. RewriteRule ^(unmodulo|otro|otromas)+/([\w-]+)/?$ index.php?modulo=$1&submodulo=$2 [QSA,NC]
  #10 (permalink)  
Antiguo 14/01/2014, 10:20
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

Muchas gracias a los dos.
al final lo he conseguido con:

Código Apache:
Ver original
  1. RewriteRule ^(\w+)/?$ index.php?modulo=$1
  2. RewriteRule ^([\w-]+)+/([\w-]+)/?$ index.php?modulo=$1&codigo=$2

pero ahora me aparece un nuevo problema
no me transforma "variables" con guión

por ejemplo

www.midominio.com/redes si que me lo traduce a www.midominio.com/index.php?modulo=redes
pero por ejemplo
www.midominio.com/redes-sociales NO me lo traduce a http://www.midominio.com/index.php?m...redes-sociales

¿tiene que ver con las expresiones regulares?
  #11 (permalink)  
Antiguo 14/01/2014, 10:32
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Problema con URL amigables

RewriteRule ^(\w+)/(\w+)/?$ index.php?modulo=$1&codigo=$2

Esto si estaría bien.
  #12 (permalink)  
Antiguo 14/01/2014, 10:44
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

Cita:
Iniciado por PHPeros Ver Mensaje
RewriteRule ^(\w+)/(\w+)/?$ index.php?modulo=$1&codigo=$2

Esto si estaría bien.
no me funciona, si paso un guion medio como parámetro no lo detecta

www.miweb.com/redes lo detecta e interpreta bien
www.miweb.com/redes-sociales no lo detecta.

No se que pasa.

Miles de gracias de nuevo
  #13 (permalink)  
Antiguo 14/01/2014, 10:54
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Problema con URL amigables

RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?modulo=$1&codigo=$2

¿Así?
  #14 (permalink)  
Antiguo 14/01/2014, 13:01
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con URL amigables

Cita:
Iniciado por PHPeros Ver Mensaje
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?modulo=$1&codigo=$2

¿Así?
¡Si señor!

no se de donde eres pero si alguna vez vienes por El Bierzo tienes unas cervezas pagadas!!

Etiquetas: .htaccess, apache, mod_rewrite, servidores-web, urls
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 22:47.