Hola. Tengo esta expresion
[a-z\/0-9_]
Que entiendo que acepta letras de la a hasta la z, barras / numeros del 1 al 9 y guiones bajos.
Lo que quiero es que acepte tamibien guiones como este: -
Me podríais decir como?.
Gracias.
| |||
Aceptar - en expresion regular Hola. Tengo esta expresion [a-z\/0-9_] Que entiendo que acepta letras de la a hasta la z, barras / numeros del 1 al 9 y guiones bajos. Lo que quiero es que acepte tamibien guiones como este: - Me podríais decir como?. Gracias. |
| |||
Respuesta: Aceptar - en expresion regular Hola, gracias por responderme. La proxima vez lo tendre en cuenta, no sabia que habia un foro para expresiones regulares. No me funciona lo que me has comentado. Enfocaré la pregunta de otra forma. Como puedo conseguir una expresion regular que acepte: letras minusculas y mayusculas de la A a la Z. Numeros del 0 al 9 Guiones bajos (_) Guiones medios (-) Barras normales (/) Todo esto en cualquier orden, es decir, valdría: hola-que_tal/que-pasa/nada. -44_hola-que/tal-55_pASA. Etc, etc. A ver si me podeis ayudar, por favor, porque tengo un cacao con las expresiones regulares de mucho cuidado. Gracias. |
| ||||
Respuesta: Aceptar - en expresion regular Bueno, por favor no esperes a que te pidamos ver avances de lo que has hecho. Es imposible adivinar que hiciste mal, y si no compartes nada pues nos quedamos igual que al principio, sé más inteligente por favor.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: Aceptar - en expresion regular Esta bien, gracias por ayudarme, intentaré explicarlo de la mejor forma posible. Tengo esta expresion regular: RewriteRule ^([a-z\/0-9_-]*)/.*PA-([a-z0-9]*).php$ index.php?accion=$1&page=$2 [L,QSA] Para esta ruta funciona: http://localhost/sitio/area_deportiv...-2014/PA-1.php Para esta ruta tambien funciona: http://localhost/sitio/torneos/tor_a...amora/PA-1.php Pero para esta ruta no funciona: http://localhost/sitio/torneos/tor_c...-2013/PA-1.php Si a la expresion regular le quito el "-" de la primera regla, funcionan los enlaces 2 y 3, pero el 1 no. Si dejo la expresion como está y le añado al tercer enlace una "I" entre la barra y t, es decir "2013/Itorn", funciona, aunque esta opción no es posible, el nombre no debe cambiarse. Por eso me estoy volviendo loco por mas vueltas que le doy a la expresion regular. |
| ||||
Respuesta: Aceptar - en expresion regular Vale, debo decir que las mismas reglas sintácticas en RegExp no son universales y dependen en detalle de la implementación del lenguaje anfitrión. Me parece que al lidiar con RegExp en Apache debes escapar el guión también. Deberías consultar una referencia de RegExp específica de Apache.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: Aceptar - en expresion regular Ya probé a escapar el - RewriteRule ^([a-z\/0-9_\-]*)/.*PA-([a-z0-9]*).php$ index.php?accion=$1&page=$2 [L,QSA] pero tiene el mismo comportamiento que sin escapar. No tiene sentido esto. |
| ||||
Respuesta: Aceptar - en expresion regular Ya entiendo, al parecer nos estamos peleando con las RegExp sin sentido, ya que no estás teniendo ningún error de sintaxis ni nada parecido. Es más bien tu configuración del .htaccess, el orden de aparición y precedencia de tus reglas las que no te dan los resultados esperados. Si fuera un problema de la RegExp sencillamente obtendrías un error 500 pero no es así. Deberías mostrar la configuración que tienes a ver si alguien ve lo que sucede.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: Aceptar - en expresion regular Ok. Te pongo el htaccess pero yo no se las pruebas que he hecho ya y los manuales que he leido en estos días y nada, tiene un comportamiento que no tiene sentido Options -MultiViews Options +FollowSymLinks RewriteEngine On RewriteBase / #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^sitio.es RewriteRule ^ http://www.sitio.es%{REQUEST_URI} [L,R=301] #Cualquier pagina del menu con page RewriteRule ^([a-z\/0-9_\-]*)/.*PA-([a-z0-9]*).php$ index.php?accion=$1&page=$2 [L,QSA] |
| ||||
Respuesta: Aceptar - en expresion regular Cita: 1. Si los grupos de caracteres no son opcionales no deberías usar * sino +# MAL ^([a-z\/0-9_\-]*)/.*PA-([a-z0-9]*).php$ 2. Si antes del "PA" y después de la barra / anterior no hay nada, entonces no hace falta especificar el .* 3. La diagonal no es especial y no es necesario escaparla 4. El punto es un carácter especial, si debe tomarse como literal también debe escaparse \. Cita: # BIEN ^([a-z/0-9_\-]+)/PA-([a-z0-9]+)\.php$
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: Aceptar - en expresion regular Hola. Lo primero es pedirte disculpas por tardar tanto en contestar y lo segundo agradecerte las molestias que te has tomado. Decirte que despues de darle muchas vueltas y al no tener sentido el funcionamiento de las instrucciones del htaccess, resulta que el problema no es del htaccess, es del sistema que uso que un momento determinado, no acepta -, es un poco largo de explicar. Si sirve de algo, me han servido mucho tus instrucciones en cuando al lenguaje para htaccess. Un saludo. |
Etiquetas: |