elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [RewriteRule] No encuentro como hacer esta regla ! (solved)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [RewriteRule] No encuentro como hacer esta regla ! (solved)  (Leído 3,251 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
[RewriteRule] No encuentro como hacer esta regla ! (solved)
« en: 5 Octubre 2012, 22:54 pm »

Buenas.

Tengo un sitio en donde quiero tratar los datos de la URL de forma muy especifica, les cuento:

http://miweb.com/servicios/
Quiero que practicamente me pase la palabra "servicios" a una variablGET para consultar mis secciones con el nombre de "servicios".

http://miweb.com/opcion (no uso slash ' / ' al final).
Quiero tratar la palabra "opcion" de otra forma..

Las reglas que puse son:

Código:
RewriteRule ^(.+)/$ index.php?id=$1 [L]
RewriteRule ^(.+)[^/]$ index.php?id=ref&data=$1

Asi tal cual, tengo que comentar la segunda linea, porque al escribir en mi url "http://miweb.com/servicios/", intenta pasar "servicios" asi:

index.php?id=ref&data=servicios

Al comentar la segunda linea, la web funciona casi bien, ya que al escribir "miweb.com/servicios/", me manda:

index.phpid=servicios.

Pero si escribo: miweb.com/opcion

Me sale not found :S

Alguna idea ?


« Última modificación: 6 Octubre 2012, 06:22 am por Diabliyo » En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [RewriteRule] No encuentro como hacer esta regla !
« Respuesta #1 en: 5 Octubre 2012, 22:59 pm »

Cambie el orden de las reglas pensando que funciono, y no tampoco....

Código:
RewriteRule ^(.+)$ index.php?id=ref&data=$1
RewriteRule ^(.+)/$ index.php?id=$1 [L]

Sigue sin funcionar !


« Última modificación: 5 Octubre 2012, 23:04 pm por Diabliyo » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: [RewriteRule] No encuentro como hacer esta regla !
« Respuesta #2 en: 6 Octubre 2012, 00:45 am »

Citar
Código:
RewriteRule ^(.+)[^/]$ index.php?id=ref&data=$1

Con el . ,que yo sepa le dices que sea cualquier carácter menos \n (nueva linea).. por tanto se pasa por el **** si quieres que funcione solo cuando no incluya el shash (/)  :xD.

Yo lo haría así:
Código
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteRule ^(.+)/$ index.php?id=$1
  4. RewriteRule ^([a-z0-9_-]+)$ index.php?id=ref&data=$1 [NC]
  5. </IfModule>

Resultado:

http://miweb.com/servicios/ retorna:
Código
  1. Array ( [id] => servicios )

http://miweb.com/opciones retorna:
Código
  1. Array ( [id] => ref [data] => opciones )


Saludos
« Última modificación: 6 Octubre 2012, 00:48 am por drvy | BSM » En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [RewriteRule] No encuentro como hacer esta regla !
« Respuesta #3 en: 6 Octubre 2012, 04:28 am »

Con el . ,que yo sepa le dices que sea cualquier carácter menos \n (nueva linea).. por tanto se pasa por el **** si quieres que funcione solo cuando no incluya el shash (/)  :xD.

Yo lo haría así:
Código
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteRule ^(.+)/$ index.php?id=$1
  4. RewriteRule ^([a-z0-9_-]+)$ index.php?id=ref&data=$1 [NC]
  5. </IfModule>

Resultado:

http://miweb.com/servicios/ retorna:
Código
  1. Array ( [id] => servicios )

http://miweb.com/opciones retorna:
Código
  1. Array ( [id] => ref [data] => opciones )


Saludos

Lo he escrito tal cual me dijiste, y no funciona cuando accedo al url: http://miweb.com/servicios/, sale: Not Found.

Solo funciona cuando accedo url: http://miweb.com/opcion, envia:
Código:
index.php?id=ref&data=opcion

Saludos !
« Última modificación: 6 Octubre 2012, 04:30 am por Diabliyo » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: [RewriteRule] No encuentro como hacer esta regla !
« Respuesta #4 en: 6 Octubre 2012, 04:54 am »

o.O

Eso si que es extraño xD... seguro que no te olvidaste la barra inclinada (/) antes del $ ? Yo lo acabo de probar por 9999999 vez y funciona tan normal...

Saludos
En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [RewriteRule] No encuentro como hacer esta regla !
« Respuesta #5 en: 6 Octubre 2012, 06:11 am »

Me retracto... Si funciono !

Habia puesto en el RewriteRule "indx.html", me falto la "e".

Y ya funciono....

Disculpa sabes de un buen manual para aprender sobre los patrones o sintaxis en RewriteRules ?

Saludos !
« Última modificación: 6 Octubre 2012, 06:19 am por Diabliyo » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[jquery] Hacer galeria jiratoria automatica ? (solved)
PHP
Diabliyo 7 6,028 Último mensaje 22 Febrero 2012, 20:07 pm
por Diabliyo
¿Cómo hacer esta consulta? « 1 2 »
Bases de Datos
KateLibby 12 9,165 Último mensaje 14 Mayo 2012, 11:53 am
por KateLibby
[mod_rewrite] Esta regla no me funciona en linea, pero en localhost si !
PHP
Diabliyo 3 2,547 Último mensaje 27 Julio 2013, 19:23 pm
por el-brujo
Puedo bypassear esta regla del SQUID?
GNU/Linux
TrashAmbishion 0 1,693 Último mensaje 9 Noviembre 2013, 20:08 pm
por TrashAmbishion
¿Que es la regla 41,y como nos afectará? DIFUNDELO
Foro Libre
Kikoneh95 1 1,806 Último mensaje 29 Agosto 2016, 05:32 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines