Expression Régulière, Htaccess ? (Pour connaisseurs)

Signaler
Messages postés
56
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
18 avril 2008
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
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.

5 réponses

Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

si tu veux faire une redirection :



RewriteEngine on

RewriteCond %{REQUEST_URI} !\.php$

RewriteCond %{REQUEST_URI} !\.phtml$

RewriteRule ^([0-9a-z_\.\-]+)$ /test.php?chaine=$1 [R]

ou quelquechose dans le genre ...
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

une dernière chose :

la documentation complète est sur http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html



pour ce genre de questions, irc.freenode.net sur #apache

les gens y sont très sympas et s'y connaissent mieux que moi ...
Messages postés
56
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
18 avril 2008

Merci beaucoup mc pour ta réponse rapide.

J'ai malgré tout deux petits problèmes :

- Si la chaine se termine par un "/" ça ne marche pas Ex :
http://www.monsite.com/chaine_diverse/
Il faut de plus que lors de la redirection ce "/" ne soit pas pris en compte Ex :
test.php?chaine=chaine_diverse et pas test.php?chaine=chaine_diverse/

- L'url d'origine n'est pas conservée dans la barre d'adresse, est-ce possible de la conserver lors de la redirection ?

Encore merci pour ton aide.
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
2 septembre 2005

essaye avec ^([0-9a-z_\.\-]+)\/*$ mais ...



Tu as pensé au getenv ("REQUEST_URI"); qui te permet d'obtenir l'URL demandée, par exemple tu combines ça avec un



ErrorDocument 404
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



essaie ça :



RewriteEngine on

RewriteRule ^chaine_diverse/?$ /test.php?chaine=$1




<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>