|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 167 ![]() |
Bonsoir,
J'essaie d'écrire une règle me permettant d'aller chercher toutes les images dans un même répertoire, sans afficher le chemin complet pour ne pas montrer la structure de mon site. Mais là je sèche, voir pire... Peu importe les essai ça ne marche pas, je suis quasiment sûr que parmi mes essais certains auraient dû fonctionner ! Voici la règle qui me semble la plus correcte, mais qui ne fonctionne pas... Citation:
Je vous remercie. Cordialement, Squal. |
|
|
|
00
|
|
|
#2 | |
|
Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 167 ![]() |
En regardant de plus près dans les logs d'apache j'ai cette ligne concernant cette image:
Citation:
|
|
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : août 2005 Messages : 9 190 ![]() |
Le "*+" ne me paraît pas correct : * et + sont des multiplicateurs et ne peuvent pas logiquement apparaître l'un après l'autre. Je supprimerais au moins le +.
Par ailleurs, ta syntaxe n'est pas la plus adaptée. La syntaxe idoine me semble plutôt être celle-ci : Code :
RewriteRule ^(.*)\.(png|jpg|jpeg|gif)$ /chemin/du/repertoire/$1.$2 [NC,L]
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#4 | |
|
Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 167 ![]() |
Bonsoir Mac,
Merci pour ton aide ! J'ai testé ta règle, malheureusement elle ne fonctionne pas, je me demande si mon serveur n'a pas un problème de configuration. Mais mes autres règles fonctionnent... J'ai retrouver une règle me permettant de rediriger les images vers le répertoire voulu, mais c'est pas la perfection que j'aimerais étant donné que je dois ajouter "img_" devant les images: Citation:
J'aimerais savoir si c'est un défaut d'interprétation de mon serveur (OVH/Squeeze). Merci ! Cordialement, Squal |
|
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : août 2005 Messages : 9 190 ![]() |
Ca sent le conflit avec une autre règle de réécriture, ça. Tu peux donner le contenu complet du .htaccess ?
Je ne crois pas trop à un problème avec la négociation de contenu à cause de l'erreur 404, mais pourquoi pas. Essaie d'activer ou désactiver la négociation de contenu, pour voir : ou
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 167 ![]() |
Bonjour Mac,
Voici le contenu de mon .htaccess: Code :
La négociation de contenu ne change rien. Encore merci de prendre le temps pour m'aider ! Cordialement, Squal. |
||
|
|
00
|
|
|
#7 | ||
![]() ![]() Inscription : août 2005 Messages : 9 190 ![]() |
Non, je n'ai pas testé ma règle, c'est une syntaxe que j'ai écrite de mémoire.
Je ne vois pas de conflit dans ta configuration donc en effet, ça doit être un problème de syntaxe. Etant donné qu'une approche similaire fonctionne pour jquery.js, je te propose de commencer par un test simple sur une image bien précise, puis d'élargir progressivement le filtre. Par exemple, tu commences avec l'image toto.jpg qui existe bien dans le répertoire /chemin/vers/images : Code :
RewriteRule ^toto\.jpg$ /chemin/vers/images/toto.jpg [QSA,NC,L] Code :
RewriteRule ^(.*\.jpg)$ /chemin/vers/images/$1 [QSA,NC,L] Code :
RewriteRule ^(.*)\.(jpg)$ /chemin/vers/images/$1.$2 [QSA,NC,L] Code :
RewriteRule ^(.*)\.(jpg|gif)$ /chemin/vers/images/$1.$2 [QSA,NC,L] Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
00
|
|
|
#8 | |
|
Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 167 ![]() |
Edition: J'ai écris trop vite je fais des controles et je met à jour...
Voilà, désolé je me suis un peu trop empressé, du coup je n'avais pas fais les choses correctement. Le debug rewrite est maintenant activé. Dès la tentative numéro 2 ça ne fonctionne pas. Voici ce que le debug me dit: Citation:
|
|
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : août 2005 Messages : 9 190 ![]() |
En effet, j'avais oublié de vérifier les boucles infinies. C'est la raison pour laquelle ton img_ est obligatoire pour que ça mache. Car en effet, le filtre ^(.*\.jpg)$ matche des URL simples http://site.com/toto.jpg mais aussi la réécriture /chemin/vers/images/toto.jpg. Ce n'est pas le cas pour jquery.js car ton filtre est ultra-spécifique.
Bref, 2 solutions : faire un filtre plus spécifique ou ajouter une condition. Je pense que le premier cas est jouable étant donné ton exemple sur jquery : si j'ai bien compris ton site, toutes les images sont supposées se trouver (virtuellement) à la racine du site, ce qui signifie que le caractère / ne peut pas se retrouver dans le chemin vérifié par RewriteRule. Me trompe-je ? Si non, il s'agit tout simplement de remplacer .* dans mes règles par [^/]* : Code :
RewriteRule ^([^/]*\.jpg)$ /chemin/vers/images/$1 [QSA,NC,L] Code :
RewriteRule ^([^/]*)\.(jpg)$ /chemin/vers/images/$1.$2 [QSA,NC,L] Code :
RewriteRule ^([^/]*)\.(jpg|gif)$ /chemin/vers/images/$1.$2 [QSA,NC,L]
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 167 ![]() |
Bonjour Mac !
Tu as résolu mon problème, tout fonctionne correctement maintenant ! Et j'en ai en plus appris plus sur le fonctionnement du .htaccess. Jamais je ne me serais douté qu'il pouvait y avoir une boucle inifine et je ne pense pas que j'aurais trouvé comment régler le problème. Merci pour ton aide et pour le fait de m'avoir aiguillé/aidé de A jusqu'à Z. Cordialement, Squal. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com