Foros del Web » Programando para Internet » PHP »

Problemas con expresiones regulares y urls limpias

Estas en el tema de Problemas con expresiones regulares y urls limpias en el foro de PHP en Foros del Web. estoy volviendome loco venga a probar y cuando creo haber encontrado algo que funciona resulta que no digamos que parto de esta exprexion regular Rewriterule ...
  #1 (permalink)  
Antiguo 26/10/2012, 23:31
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Problemas con expresiones regulares y urls limpias

estoy volviendome loco venga a probar y cuando creo haber encontrado algo que funciona resulta que no

digamos que parto de esta exprexion regular
Rewriterule ^(\w+)/?$ ?a=$1 [L]
la cual falla si aparecen % o -
pues en esta web
http://www.metriplica.com/es/recurso...ones-regulares
he llegado a comprobar esta expresion
(\S+%?-?)/?
con este texto de reemplazo
?a=$1
y funciona segun ellos pero al tratar de incluir eso en el htaccess
Rewriterule ^(\S+%?-?)/?$ ?a=$1 [L]
todo son desgracias

alguna sugerencia? o mejor aun... ¿porque falla?
  #2 (permalink)  
Antiguo 26/10/2012, 23:45
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Respuesta: Problemas con expresiones regulares y urls limpias

las desgracias oscilan entre
Cita:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
si sintroduzco www.miweb.com/pagina

o

Cita:
Bad Request

Your browser sent a request that this server could not understand.
si sintroduzco www.miweb.com/pagina%
  #3 (permalink)  
Antiguo 26/10/2012, 23:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Problemas con expresiones regulares y urls limpias

1. Es un problema de expresiones regulares, no de código php
2. Igualmente y aunque el tema es de configuración de Apache, no es código php
3. Las expresiones regulares no son juguetes, si no saben lo que haces no las uses hasta comprender lo que hacen

En teoría lo que buscas es que acepten los caracteres % y -, por lo tanto, sumado a lo que tenías inicialmente y funcionaba.
Cita:
[\w+%\-]
Ahora te toca a ti ver cómo colocar eso para que funcione, no dejes de estudiar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 27/10/2012, 00:00
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Respuesta: Problemas con expresiones regulares y urls limpias

en eso estoy en tratar de comprender mas que lo que hacen como lo hacen, pero hasta que llegue ese día estoy sintiendo que son así como diabólicas XD
voy a echarle un vistazo a ver que saco en claro
thx
  #5 (permalink)  
Antiguo 27/10/2012, 00:07
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Respuesta: Problemas con expresiones regulares y urls limpias

una cosa ¿si el guion esta al final no es innecesario el \ ? o eso me lo acabo de sacar de la manga
  #6 (permalink)  
Antiguo 27/10/2012, 00:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Problemas con expresiones regulares y urls limpias

De hecho tienes razón, aunque no puedo asegurarlo en todos los escenarios.

Al menos la implementación PCRE de PHP lo hace tal cual dices.

Si el guión esta entre dos caracteres se supone que es un rango, si está al inicio o final entonces no.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 01/11/2012, 12:39
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Respuesta: Problemas con expresiones regulares y urls limpias

hoy he vuelto a la carga con esto despues de un fin de semana olvidandome de ello y bueno mas o menos me acerco un poco

con esta expresion
Rewriterule ^([\w-]+)/?$ ?a=$1 [L]
ya consigo encontrar guiones en cualquier posicion

pero si reemplazo el guion por un porciento termino en un
Cita:
Bad Request

Your browser sent a request that this server could not understand.
que problema tiene esto con los %
  #8 (permalink)  
Antiguo 01/11/2012, 12:43
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Respuesta: Problemas con expresiones regulares y urls limpias

vale termino asi porque en la url pongo solo un %...

pero si pongo www.dominio.com/prue%20bas
a la siguiente expresion
Rewriterule ^([\w%]+)/?$ ?a=$1 [L]
me devuelve
Cita:
Not Found

The requested URL /prue bas was not found on this server.
  #9 (permalink)  
Antiguo 01/11/2012, 12:53
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 7 meses
Puntos: 66
Respuesta: Problemas con expresiones regulares y urls limpias

al final pensando si en lugar de incluir lo que quiero excluyo el único caracter que no necesito me ha salido esto
Rewriterule ^([^/\.]+)/?$ ?a=$1 [L]
por ahora funciona bastante bien...

Etiquetas: expresiones, regulares, url
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 14:04.