Expression régulière pour .htaccess
Persilou
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
le gars sans nom -
le gars sans nom -
Bonjour à tous, et bonnes fêtes de fin d'année,
j'ai besoin de faire un .htaccess pour rediriger toute une plage d'url vers une autre url. Je sais faire la redirection, mais je ne maitrise pas assez les expressions régulières pour traduire mon besoin dans ce langage.
Ce que je voudrais faire est simple. Traduire en expression régulière la formule suivante :
Commence par index.php?
puis contient 5 ou 6 nombres à la suite entre 0 et 9
puis contient une lettre entre a et z
exemple : index.php?24568p
est-ce que quelqu'un saurait comment le dire en expression régulière ?
en vous remerciant
j'ai besoin de faire un .htaccess pour rediriger toute une plage d'url vers une autre url. Je sais faire la redirection, mais je ne maitrise pas assez les expressions régulières pour traduire mon besoin dans ce langage.
Ce que je voudrais faire est simple. Traduire en expression régulière la formule suivante :
Commence par index.php?
puis contient 5 ou 6 nombres à la suite entre 0 et 9
puis contient une lettre entre a et z
exemple : index.php?24568p
est-ce que quelqu'un saurait comment le dire en expression régulière ?
en vous remerciant
A voir également:
- Expression régulière pour .htaccess
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Avoir du ping expression ✓ - Forum jeux en ligne
- C quoi un ping? ✓ - Forum Réseau
- Expression de recherche - Guide
6 réponses
Rolala, déjà une réponse !
bon je teste ça dans mon .htaccess, et je vous fais un retour, que ça marche (j'espère bien !) ou pas ^^
merci !
bon je teste ça dans mon .htaccess, et je vous fais un retour, que ça marche (j'espère bien !) ou pas ^^
merci !
ça marche pas :-(
j'ai ça dans mon .htaccess :
RewriteRule ^index.php?([0-9]{5,6})([a-z]{1})$ 404.html [R=301,L]
ça donne rien, les urls index.php?12345a ne sont pas redirigées :-(
arf, je comprend pas
j'ai ça dans mon .htaccess :
RewriteRule ^index.php?([0-9]{5,6})([a-z]{1})$ 404.html [R=301,L]
ça donne rien, les urls index.php?12345a ne sont pas redirigées :-(
arf, je comprend pas
Heu en fait je crois que ça vient du "?", je viens de tester avec
et ça fonctionne... si je trouve une solution je te dis ça ...
RewriteRule ^index.php([0-9]{5,6})([a-z]{1})$ 404.html
et ça fonctionne... si je trouve une solution je te dis ça ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La solution, qui intéressera peut-être du monde :
RewriteCond %{QUERY_STRING} ^\d{5,6}[a-z]$
RewriteRule ^index\.php$ /404.html? [NC,R=301,L]
RewriteCond %{QUERY_STRING} ^\d{5,6}[a-z]$
RewriteRule ^index\.php$ /404.html? [NC,R=301,L]
RewriteRule ^index.php\?([0-9]{5,6})([a-z]{1})$ 404.html [R=301,L]
Le "?" est un MÉTACARACTÈRE, c'est un caractère qui signifie qqch dans les regex. Il faut faire perdre sa signifaction (on dit aussi "échapper") en mettant un backslash.
Et là, tout fonctionnera comme décrit dans le 1er post. Faut savoir parler chiniois ;)
Voici la liste des métacaractères: # ! ^ $ ( ) [ ] { } | ? + * .
Moi personnellement, j'utilise le dièse pour les limites de regex.