[Résolu]Rewriting avec des noms de fichiers contenant des -

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Surfeurdu33_greg
Nouveau WRInaute
 
Messages: 21
Inscription: Mar Mai 08, 2007 14:38

[Résolu]Rewriting avec des noms de fichiers contenant des -

Message le Jeu Mai 10, 2007 9:16

Bonjour,

Je suis en train de mettre en place l'url rewriting sur mon site et je me pose plusieurs questions aux sujet des regex :

Quelle est la difference entre ces deux : ?

RewriteRule ^([a-zA-Z0-9]+).html /index.php?navig=$1 [L]

RewriteRule ^([[:alnum:]]+).html /index.php?navig=$1 [L]

Ensuite, ce genre de regex me permet de faire passer un lien du type :

http://www.jsp33127.fr/index.php?navig=blog

a ceci : http://www.jsp33127.fr/blog.html

Par contre j'ai ce lien là qui me pose problème :

http://www.jsp33127.fr/index.php?navig=liste-membres

Ma regex ne fonctionne pas j'ai l'impression, sans doute a cause du "-".

Je dois rajouter quelque chose à ma regex ?

Merci d'avance
Dernière édition par Surfeurdu33_greg le Ven Mai 11, 2007 5:43, édité 1 fois.


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5181
Inscription: Jeu Oct 20, 2005 19:47

Message le Jeu Mai 10, 2007 10:27

Tu peux pas faire une règle pour cette page particulière?

Surfeurdu33_greg
Nouveau WRInaute
 
Messages: 21
Inscription: Mar Mai 08, 2007 14:38

Message le Jeu Mai 10, 2007 11:36

Si je peux mais j'connais rien aux regex alors bon...

spiderkid
Nouveau WRInaute
 
Messages: 21
Inscription: Jeu Mai 10, 2007 11:08

Message le Jeu Mai 10, 2007 12:51

sinon t'élargit ta règle a tout les caractères et pas seulement aux alphanumériques, avec un truc du genre :

RewriteRule ^(.*).html /index.php?navig=$1 [L]

Surfeurdu33_greg
Nouveau WRInaute
 
Messages: 21
Inscription: Mar Mai 08, 2007 14:38

Message le Jeu Mai 10, 2007 13:36

effectivement ca fonctionne mieux.

Dernière question :

Un liens de ce type là : http://www.jsp33127.fr/index.php?navig=blog&page=2

j'ai fais cette règle là : RewriteRule ^(.*)-([0-9+])\.html$ /index.php?navig=$1&page=$2 [L]

Mais ca n'a pas l'air de fonctionner...

spiderkid
Nouveau WRInaute
 
Messages: 21
Inscription: Jeu Mai 10, 2007 11:08

Message le Jeu Mai 10, 2007 14:28

Ca devient dessuite plus difficile, la regle que j'ai donner est trop large pour ton cas.

Ne serait-il pas plus facile pour toi de remplacer les "-" dans tes adresses ? Par exemples en les remplacant par un autre séparateur du genre "|" ou autre ... car tu ne pourras pas l'utiliser en même temps dans une regles et comme séparateur entre deux regles. Je sais pas si je me fait comprendre.

Surfeurdu33_greg
Nouveau WRInaute
 
Messages: 21
Inscription: Mar Mai 08, 2007 14:38

Message le Jeu Mai 10, 2007 14:31

Mais non ca fonctionne ta solution c'étais une question totalement differente.

Comment transformer :

Un liens de ce type là : http://www.jsp33127.fr/index.php?navig=blog&page=2

en http://www.jsp33127.fr/blog-2.html

Avec

RewriteRule ^(.*)-([0-9+])\.html$ /index.php?navig=$1&page=$2 [L]

ca ne fonctionne pas

Franco
WRInaute passionné
WRInaute passionné
 
Messages: 812
Inscription: Sam Oct 02, 2004 9:25

Message le Jeu Mai 10, 2007 14:36

Salut,

J'ai pile poil le même problème que toi (j'ai ouvert un fil ci-plus bas, "url rewriting me donne mal de tête").

Je suis tout ouïe (si on peut dire) pour une solution.

spiderkid
Nouveau WRInaute
 
Messages: 21
Inscription: Jeu Mai 10, 2007 11:08

Message le Jeu Mai 10, 2007 14:52

juste une question tu as mis les 2 regles :

RewriteRule ^(.*).html /index.php?navig=$1 [L]
RewriteRule ^(.*)-([0-9+])\.html$ /index.php?navig=$1&page=$2 [L]

si c'est le cas ca ne marchera pas ...
1 - le mécanisme s'arretera a la première regle et n'arrivera pas a la seconde (la première règle étant plus générale que la seconde)
2 - (je n'en suis pas sur) Même en les inversant il est possible que la nouvelle règle ne marche pas car il na va pas comprendre la règle "(.*)-([0-9+])" vu que le "-" peut être un élément de la première partie de la règle.

Surfeurdu33_greg
Nouveau WRInaute
 
Messages: 21
Inscription: Mar Mai 08, 2007 14:38

Message le Jeu Mai 10, 2007 15:53

Je viens de les inverser et çà fonctionne.

Mais à mon avis ma méthode n'est pas la bonne.
Dernière édition par Surfeurdu33_greg le Jeu Mai 10, 2007 15:55, édité 1 fois.


e-kiwi
Modérateur
Modérateur
 
Messages: 13870
Inscription: Mar Déc 23, 2003 9:04

Message le Jeu Mai 10, 2007 15:54

>> mais si ca ne fonctionne pa
cela fonctionnera

Surfeurdu33_greg
Nouveau WRInaute
 
Messages: 21
Inscription: Mar Mai 08, 2007 14:38

Message le Jeu Mai 10, 2007 15:57

Oui effectivement ca fonctionne.

Mais est-ce la bonne méthode.

J'aimerai aussi savoir où est-ce que je peux trouver un bon tuto pour comprendre tout les caractères d'une règle, comme le [L] oui bien des expression régulières les plus courante ?

Ca m'éviterai de polluer le forum...


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités