la je comprends vraimment pas

  • Auteur de la discussion Auteur de la discussion binocle
  • Date de début Date de début
WRInaute discret
La j'ai vraimment tout essayé, je comprend plus !!

je vous explique :

j'ai une url de la forme :

http://www.surf-bzh.com/coppermine_dir/displayimage.php?album=topn&cat=0&pos=0

et je voudrais la transformer de la facon suivante :

http://www.surf-bzh.com/coppermine_dir/photos-surf-topn-0-0.html


donc dans mon fichier htacces, j'ai fais un truc du genre :

RewriteRule ^coppermine_dir/photos-surf-([a-z0-9]+)-([0-9]+)-([0-9]+).html$ /coppermine_dir/displayimage.php?album=$1&cat=$2&pos=$3

mais ca ne marche pas, et je vois pas pourquoi ?

:cry:

alors que ca marche tres bien avec une variable en moins ex :

http://www.surf-bzh.com/coppermine_dir/displayimage.php?album=47&pos=3

et

http://www.surf-bzh.com/coppermine_dir/photos-surf-47-3.html

:wink:
 
WRInaute discret
Il me semble qu'il faut un \ avant le .html$

RewriteRule ^coppermine_dir/photos-surf-([a-z0-9]+)-([0-9]+)-([0-9]+)\.html$ /coppermine_dir/displayimage.php?album=$1&cat=$2&pos=$3
 
WRInaute discret
j'ai trouvé l'erreur de vennais pas directement de la : voici comment était mon fichier ht access :

RewriteRule ^coppermine_dir/photos-surf-(.+)-(.+).html$ /coppermine_dir/displayimage.php?album=$1&pos=$2
RewriteRule ^coppermine_dir/photos-surf-([a-z0-9]+)-([0-9]+)-([0-9]+).html$ /coppermine_dir/displayimage.php?album=$1&cat=$2&pos=$3

j'ai inversé les deux lignes :

RewriteRule ^coppermine_dir/photos-surf-([a-z0-9]+)-([0-9]+)-([0-9]+).html$ /coppermine_dir/displayimage.php?album=$1&cat=$2&pos=$3
RewriteRule ^coppermine_dir/photos-surf-(.+)-(.+).html$ /coppermine_dir/displayimage.php?album=$1&pos=$2

et maintenant ca marche

Par contre y a t-il un ordre de prise en compte des directives du fichier ht acces ?
 
WRInaute occasionnel
Les rewriterule sont pris en compte l'un après l'autre, ce qui signifie qu'une url peut être réécrite plusieurs fois, ce qui peut causer de grosses erreurs.

Pour éviter ça, utilise le flag [L] à la fin de chaque rewriterule, il signifie que la réécriture s'arrêtera à la première règle applicable.
:D
 
WRInaute discret
Twister a dit:
Les rewriterule sont pris en compte l'un après l'autre, ce qui signifie qu'une url peut être réécrite plusieurs fois, ce qui peut causer de grosses erreurs.

Pour éviter ça, utilise le flag [L] à la fin de chaque rewriterule, il signifie que la réécriture s'arrêtera à la première règle applicable.
:D

tu peut expliquer plus en détail, j'ai pas vraimment compris :wink:
 
WRInaute discret
Bon je continue dans mes galères :

c'est toujours a propos de la même url (enfin presque):

http://www.surf-bzh.com/coppermine_dir/displayimage.php?album=topn&cat=0&pos=0

que je veux traduire de la facon suivante :

coppermine_dir/photos-surf-(.+)-(.+)-(.+).html

maintenant tout marche bien exepté que quelques fois le "&cat=" est un nombre négatif, ce qui fait une url du genre :

coppermine_dir/photos-surf-topn--5-1.html

et apparament ca veut pas etre pris en compte, je sais que ca doit pouvoir marcher, vu que des essaies sur des url de ce types ont marché
:?
 
WRInaute discret
ya pas autre chose ?

plus serieusement, j'ai déja réussi, mais la je vois pas pourquoi ca veut pas :cry:
 
WRInaute discret
Si c'est du numérique négatif, essaie plutôt de mettre
([0-9-])
au lieu de (.+)
ce qui donne
coppermine_dir/photos-surf-([a-zA-Z]*)-([0-9-]*)-([0-9]*).html

Comme ça tu réduis l'analyse au strict nécessaire.
 
WRInaute occasionnel
Pulsar-san a dit:
Si c'est du numérique négatif, essaie plutôt de mettre
([0-9-])
au lieu de (.+)
ce qui donne
coppermine_dir/photos-surf-([a-zA-Z]*)-([0-9-]*)-([0-9]*).html

Comme ça tu réduis l'analyse au strict nécessaire.

Avec cette règle, il y a des chances pour qu'une url avec -- soit mal découpée. Il faudrait remplacer les * par des + :
Code:
coppermine_dir/photos-surf-([a-zA-Z]+)-([0-9-]+)-([0-9]+).html
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut