Aide pour réécriture - REGEX

  • Auteur de la discussion Auteur de la discussion OJAL
  • Date de début Date de début
WRInaute impliqué
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:
RewriteRule ^(.*)\.html$ mon_scrpt.php?var=$1 [L]

Merci par avance pour vos conseils ;-)
 
WRInaute impliqué
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 ;-)
 
WRInaute accro
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:
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) index.php [R]
 
WRInaute impliqué
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 ;-)
 
WRInaute passionné
si j'ai bien compris tu veux exclure -http://www.tonsite.com/ de la règle. Dans ce cas il faut remplacer * par + :
Code:
RewriteCond $1 !\.(html?|php)$
RewriteRule ^(.+)$ mon_scrpt.php?var=$1 [L]
 
WRInaute accro
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
 
Discussions similaires
Haut