la je comprends vraimment pas

  • Auteur de la discussion Auteur de la discussion binocle
  • Date de début Date de début
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:
 
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
 
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 ?
 
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
 
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:
 
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é
:?
 
ya pas autre chose ?

plus serieusement, j'ai déja réussi, mais la je vois pas pourquoi ca veut pas :cry:
 
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.
 
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