Aide pour réécriture - REGEX


OJAL
WRInaute passionné
WRInaute passionné
 
Messages: 1178
Inscription: 10 Avr 2003

Aide pour réécriture - REGEX

Message le Jeu Jan 29, 2009 11:15

Bonjour,

Je souhaite avoir des URL du type NDD/chaine de caractères qui orientent vers un script en passant la chaine de caractère comme variable.
Je voudrais que la règle du .htaccess ne traite pas les URL se terminant par htm ou html ou php.
NDD/toto devrait lancer le script mon_script?variable=toto
NDD/toto.htm ne doit pas être traité par la réécriture

Pour le moment j'ai biaisé la règle en traitant les fichiers html avec la règle suivante
Code: Tout sélectionner
RewriteRule ^(.*)\.html$ mon_scrpt.php?var=$1 [L]


Merci par avance pour vos conseils ;-)


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Re: Aide pour réécriture - REGEX

Message le Jeu Jan 29, 2009 14:31

tu peux essayer :
Code: Tout sélectionner
RewriteCond $1 !\.(html?|php)$
RewriteRule ^(.*)$ mon_scrpt.php?var=$1 [L]


OJAL
WRInaute passionné
WRInaute passionné
 
Messages: 1178
Inscription: 10 Avr 2003

Re: Aide pour réécriture - REGEX

Message le Jeu Jan 29, 2009 15:38

Grand merci, c'est ce que j'attendais ;-)
Difficile de se replonger dans les REGEX quand on doit les utiliser simplement de temps en temps ;-)

J'abuse un peu, mais après avoir essayé, je m'aperçois que j'avais oublié d'indiquer quelque chose... :oops:
Je voudrais que lorsqu'on saisi simplement le NDD, on affiche pour cette URL le fichier index.htm ou index.php comme d'hab quoi ;-)

Re merci par avance ;-)


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: Aide pour réécriture - REGEX

Message le Ven Jan 30, 2009 17:25

c'est linverse que l'on fait d'habitude, cad on redirige index.php vers la racine pour donner plus de poid a la racine.

pour ta demande de rediriger la racine vers index.php, utilise ce code

Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) index.php [R]


OJAL
WRInaute passionné
WRInaute passionné
 
Messages: 1178
Inscription: 10 Avr 2003

Re: Aide pour réécriture - REGEX

Message le Ven Jan 30, 2009 20:51

Merci, j'ai du mal m'exprimer...
Ca revient bien à rediriger index.php vers la racine ce que je veux faire...
Sauf que la première règle empêche pour le moment celà...

Merci ;-)


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Re: Aide pour réécriture - REGEX

Message le Ven Jan 30, 2009 21:47

si j'ai bien compris tu veux exclure -http://www.tonsite.com/ de la règle. Dans ce cas il faut remplacer * par + :
Code: Tout sélectionner
RewriteCond $1 !\.(html?|php)$
RewriteRule ^(.+)$ mon_scrpt.php?var=$1 [L]


OJAL
WRInaute passionné
WRInaute passionné
 
Messages: 1178
Inscription: 10 Avr 2003

Re: Aide pour réécriture - REGEX

Message le Sam Jan 31, 2009 1:42

Merci, c'est exactement ce dont j'avais besoin ;-)


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: Aide pour réécriture - REGEX

Message le Sam Jan 31, 2009 20:12

O jolie ca, en mettant un signe + il faut qu'il y est au moins 1 occurrence et comme la valeur du masque est vide la règle n'est pas appliquée.. jolie :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité