Version complète: sur le forum Webmaster Hub : Expression Régulière, Htaccess ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
dady
Bonjour,

Cela fait plusieurs jours que j'essais de créer une règle htaccess mais en vain.

Je voudrais lorsque mon url est sous cette forme :

http://www.monsite.com/chaine_diverse
ou
http://www.monsite.com/chaine_diverse/

Note : "chaine_diverse" pouvant contenir des points des tiret ou des espaces visibles en plus des caractères de "a" à "z" et des chiffre de "0" à "9".

Renvoyer (grâce à une règle htaccess) sur la page :
test.php?chaine=chaine_diverse

Il y a une dernières condition, il faut de cette règle htaccess ne prennent pas en compte les chaines qui se terminent par " .phtml " et " .php " car ce sont des pages qui ne doivent pas être interprétées par cette régle.


Pour info : Voici ce que j'ai fais, bien évidement, ça ne fonctionne pas.
RewriteRule ^([0-9a-z_.-]+)(/*)$ test.php?chaine=$1 [L,QSA]


Merci à vous.
Dan
Salut Dady,

Normal que cela ne marche pas... il faut d'abord traiter le cas des fichiers se terminant par .php et .phtml (dont ton fichier test.php bien sûr)

Donc, on va écrire
CODE
RewriteEngine on
RewriteRule (.*)\.(php|phtml)$ - [L]
RewriteRule ([-_.0-9a-z]+)(/?)$ test.php?chaine=$1 [L,NC,QSA]


J'ai mis le /? pour signifier que le / était facultatif, ainsi que le NC pour prendre les lettres indépendamment de la casse.
dady
Super : Simple, rapide -> efficace !

Merci beaucoup et longue vie à ton site !
dady
Ah oui, j'oubliais :

A quoi correspond le tiret à la fin de la première règle ?

CODE
RewriteRule (.*)\.(php|phtml)$ - [L]


Merci beaucoup!
Dan
Le tiret c'est simplement pour dire "ne rien faire" ... parce que c'est exactement ce qu'il faut pour les fichiers en .php et .phtml wink.gif
Mais il faut une règle pour éviter que ces fichiers passent par la moulinette de la règle suivante.

Dan

PS: merci pour le souhait de "longue vie !" smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.