Tiret et URL rewriting

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

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Tiret et URL rewriting

Message le Lun Juil 18, 2005 13:01

Bonjour,
J'ai un petit souci concernant une des règles de mon htaccess.

Code: Tout sélectionner
RewriteRule ^(.+)-(.+)\.html$ /index.php?page=$1&cat=$2 [L]


J'aimerai utiliser le tiret comme séparateur mais il arrive que le paramètre "cat" contienne déjà un tiret (ex : photo-numerique).

Du coup la règle ne fonctionne pas.
Y a t-il un moyen pour que la règle ne prenne pas en compte le tiret du paramètre ?

Ou sinon, existe t-il un autre séparateur aussi efficace (chez google et les autres moteurs) que le tiret ?

Merci.


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Lun Juil 18, 2005 13:47

,
/
.
;)

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Lun Juil 18, 2005 17:48

Merci pour cette réponse brève :) et pour cette liste de séparateurs "compatibles".

Je me permets d'insister concernant ma première question :

Y a t-il un moyen pour que la règle ne prenne pas en compte le tiret du paramètre ?
Peut-on mettre du PHP dans un htaccess pour cela ?


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Lun Juil 18, 2005 18:40

webcrea a écrit:Peut-on mettre du PHP dans un htaccess pour cela ?
Non.
Y a t-il un moyen pour que la règle ne prenne pas en compte le tiret du paramètre ?

Au lieu de lui dire que le premier paramètre est "n'importe quoi" . "avec au moins un caractère" +
tu n'as qu'à lui dire que c'est
"n'importe quoi sauf un tiret" [^-] "avec au moins un caractère" +
Dernière édition par Patrice A. le Mar Juil 19, 2005 8:07, édité 1 fois.

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Lun Juil 18, 2005 19:25

J'ai tenté plusieurs choses en fonction de ton explication mais ça ne donne rien. Peux tu concrétiser ton explication STP Dj_Apx ?

Merci.


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 8:07

tu as tenté quoi ?

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Mar Juil 19, 2005 8:55

Code: Tout sélectionner
RewriteRule ^-(.+)-(.+)\.html$ /index.php?page=$1&cat=$2 [L]
RewriteRule ^(^-+)-(.+)\.html$ /index.php?page=$1&cat=$2 [L]
RewriteRule ^(.+)-(^-+)\.html$ /index.php?page=$1&cat=$2 [L]
...


Oui je tatonne un peu :?

Avec la 1ère régle tout fonctionne excepté les URL du type 3-photo-numerique.html

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Mar Juil 19, 2005 9:04

Rectification, c'est avec cette ligne que tout fonctionne excepté les URL du type 3-photo-numerique.html (4-photo.html par exemple fonctionne)

Code: Tout sélectionner
RewriteRule ^(.+)-(.+)\.html$ /index.php?page=$1&cat=$2 [L]


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 9:23

j'ai rectifié un oubli dans mon explication ;)
là ça devrait marcher ;)

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Mar Juil 19, 2005 9:27

Je récapitule, ce sera j'espère plus clair :)

Voici les règles d'URL rewriting de mon htaccess pour le moment :

Code: Tout sélectionner
RewriteRule ^-(.+)-(.+)\.html$ /index.php?page=$1&cat=$2 [L]
RewriteRule ^(.*)\.html$ /index.php?cat=$1 [L]


Avec "^-" dans la 1ère ligne, les URL du type "photo.html" et "photo-numerique.html" fonctionne mais pas "3-photo.html" et encore moins "3-photo-numerique.html".

Avec juste "^" dans la 1ère ligne, "photo-numerique.html" ne fonctionne plus, "3-photo-numerique.html" ne fonctionne toujours pas mais "3-photo.html" fonctionne (et photo.html aussi).

Désolé pour cette explication un peu lourde.
Quelle est la solution pour quer toute les URL fonctionnent avec le tiret ?


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 9:34

Relis mon explication, j'ai rectifié un oubli, maintenant si tu repars de ta première règle et de ce que j'ai écrit ça devrait marcher ;)

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Mar Juil 19, 2005 9:58

C'est mieux !
Tout est PRESQUE bon avec cette modif dans la 1ère ligne

Code: Tout sélectionner
RewriteRule ^([^-]+)-(.+)\.html$ /index.php?page=$1&cat=$2 [L]
RewriteRule ^(.+)\.html$ /index.php?cat=$1 [L]


Tout fonctionne

photo.html
3-photo.html
3-photo-numerique.html

sauf
photo-numerique.html

Le pb se situe dans la 2ème ligne ?


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Mar Juil 19, 2005 13:26

Non.
Si page ne peut être qu'un chiffre, alors ton problème a une solution.

MAIS si page peut être un mot, alors comment ferais tu pour accéder à la page "photo" de la catégorie "numérique" ? il y aurait confusion.

Bon, dans le cas où page est toujours un chiffre, alors, au lieu de dire que page est "n'importe quoi sans tiret" [^-] "au moins une fois" +
il faut dire que page est "un chiffre de 0 à 9" [0-9] "au moins une fois" +
Et là pas de confusion possible ;)

webcrea
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: Lun Sep 01, 2003 16:32

Message le Mar Juil 19, 2005 13:34

Page ne peut être effectivement qu'un chiffre.
Donc cette fois c'est parfait.

Merci encore !


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