Webmaster Hub: Expression Régulière, Htaccess ? - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Expression Régulière, Htaccess ? Noter : -----

#1 L'utilisateur est hors-ligne   dady 

  • Groupe : Membre
  • Messages : 5
  • Inscrit(e) : 03-août 05

Posté 03 août 2005 - 09:16

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.
0

#2 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 941
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 03 août 2005 - 09:41

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
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.
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#3 L'utilisateur est hors-ligne   dady 

  • Groupe : Membre
  • Messages : 5
  • Inscrit(e) : 03-août 05

Posté 03 août 2005 - 12:08

Super : Simple, rapide -> efficace !

Merci beaucoup et longue vie à ton site !
0

#4 L'utilisateur est hors-ligne   dady 

  • Groupe : Membre
  • Messages : 5
  • Inscrit(e) : 03-août 05

Posté 03 août 2005 - 13:36

Ah oui, j'oubliais :

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

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


Merci beaucoup!
0

#5 L'utilisateur est en ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 941
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 03 août 2005 - 13:48

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 ;)
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 !" :)
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#6 L'utilisateur est hors-ligne   Noulin 

  • Groupe : Membre
  • Messages : 1
  • Inscrit(e) : 26-juin 11
  • Genre:Homme
  • Localisation:Paris
  • Société:Action - Création

Posté 26 juin 2011 - 16:32

Bonjour,

J'avais utilisé la même méthode que celle donnée ici pour transformer une url en variables php, mais je voudrais maintenant aller plus loin.

Je voudrais transformer mon .htaccess pour que de
www.exemple.fr/jean/paul
il fasse
www.exemple.fr/index.php?type=jean&titre=paul

Mon code, pour l'instant, est celui-ci :
RewriteEngine on
RewriteRule (.*)\.(php|phtml)$ - [L]
RewriteRule ([-_.0-9a-z]+)(/?)$ index.php?type=$1 [L,NC,QSA]


Bien entendu, il ne permet de passer qu'une seule chaîne.

Je vous remercie !

Ce message a été modifié par Noulin - 26 juin 2011 - 16:38.

0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)