Problème d'URL Rewriting pour des images

Discussion dans 'URL Rewriting et .htaccess' créé par CrazyCow007, 28 Octobre 2005.

  1. CrazyCow007
    CrazyCow007 WRInaute discret
    Inscrit:
    28 Décembre 2003
    Messages:
    167
    J'aime reçus:
    0
    Bonjour à tous,

    Je suis encore relativement débutant en URL Rewriting et je n'arrive pas à résoudre ce problème.

    Mon but est de changer l'URL :
    http://www.jamesbond-fr.com/filmographie/photos/thumbs/image_m.jpg
    en
    http://www.jamesbond-fr.com/filmographie/photo/thumbs/image_m.jpg

    Pour le moment j'utilise cette règle de réécriture mais ça ne marche pas. J'ai une erreur 404 parce que ça dit que l'image filmographie/photo/thumbs/image_m.jpg est introuvable (normal c'est la règle que j'essai de mettre en place).
    Code:
    RewriteRule ^filmographie/photo/(.*)/thumbs/(.*)$ filmographie/photos/$1/thumbs/$2 [L]
    Si vous voyez où se situe le problème :roll:

    Merci d'avance !

    PS : La différence se situe au niveau du dossier photos/ que je cherche à transformer en photo/.
    Comme ça ça à l'air bête de faire ça mais là j'ai simplifié un peu la chose.
     
  2. dixenet
    dixenet WRInaute discret
    Inscrit:
    7 Décembre 2004
    Messages:
    148
    J'aime reçus:
    0
    euh question con : pk tu te fais chier a faire de l'UR alors que tu pourrais simplement renommé le dossier avec ton client FTP ?
     
  3. CrazyCow007
    CrazyCow007 WRInaute discret
    Inscrit:
    28 Décembre 2003
    Messages:
    167
    J'aime reçus:
    0
    Bon ba je vais tout expliquer de A à Z alors :lol: (d'ailleurs peut-être qu'il y a une solution plus simple)

    Préambule
    Si je met des URL qui sont des URL spécifiques à mon site ce n'est pas pour faire de la pub mais pour pouvoir expliquer ça d'une façon claire parce qu'il va falloir s'accrocher :lol:

    L'Objectif dans notre cas
    Le but est de mettre en URL Rewriting un script d'album photo en PHP pour que les images soient référencées par GoogleImage.

    Fonctionnement du script au départ
    Le script est installé à cette adresse : http://www.jamesbond-fr.com/filmographie/photos/
    Les photos sont stockés dans photos/Album/image.jpg, les miniatures dans photos/Album/thumbs/image_m.jpg.
    Lorsqu'on ouvre un album on clique sur l'URL : photos/browser.php?directory=Album.
    Lorsqu'on visualise une image on va sur l'URL : photos/window.php?img_name=Album/image.jpg&img_w=650&img_h=433 (si image.jpg fait 650x433).

    Fonctionnement du script en utilisant l'URL Rewriting
    - Sommaire des albums : photos/ (ça ça ne change change pas)
    - Ouverture d'un album : photos/Album
    Règle utilisée :
    Code:
    RewriteRule ^photos/([-0-9A-z]+)$ /filmographie/photos/browser.php?directory=$1 [NC,L]
    Le problème qui se pose : il semblerait que la règle ne marche pas comme il faut puisque je suis renvoyé dans le dossier photos/Album réel, là où il y a une page index.php qui me dit que je n'ai pas à accéder à ce dossier.

    Solution possible à ce problème
    Changer légèrement le nom de l'album.
    Exemple :
    Code:
    RewriteRule ^photos/([-0-9a-z]+)-$ /filmographie/photos/browser.php?directory=$1 [NC,L]
    Ce qui donnerais donc : photos/Album-

    Ou alors pour garder le nom originel de l'album :
    Code:
    RewriteRule ^filmographie/photo/([-0-9A-z]+)$ /filmographie/photos/browser.php?directory=$1 [L,NC]
    Ce qui revient à renommer le dossier photos/ en photo/
    Ce cas marche mais toutes les miniatures qui sont affichés dans l'album ne marche plus (voir donc plus haut). Et c'est là que je bute.

    J'espère que c'était à peu près compréhensible :roll:
     
  4. squawk
    squawk WRInaute accro
    Inscrit:
    22 Mars 2004
    Messages:
    4 771
    J'aime reçus:
    0
    J'ai rien compris :)
     
  5. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    Il va te falloir modifier les scripts PHP aussi, non ? Car c'est, par exemple, browser.php qui construit la page avec les liens vers les images, or celui-ci affichera obligatoirement l'URL au format windows.php?img_name... et non l'URL que tu veux passer à la moulinette rewrite.
     
  6. CrazyCow007
    CrazyCow007 WRInaute discret
    Inscrit:
    28 Décembre 2003
    Messages:
    167
    J'aime reçus:
    0
    Oui mais ça c'est pas très compliqué. :roll:

    @squawk : J'ai fait au plus simple désolé. Mais à la limite c'est pas très grave puisque mon 2e message était pour expliquer pourquoi est-ce que je voulais avoir photo/ à la place de photos/.
     
  7. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    Pourtant ça, ça devrait fonctionner :
    Code:
    RewriteRule ^/?photos/([^/]+)$   /filmographie/photos/browser.php?directory=$1 [NC,L]
    
    Ceci dit, ça ne marchera pas d'entrée de jeu avec tes répertoires qui ont des espaces, puisque tu devrais les remplacer par des %20 pour avoir une URL valide. Peut-etre que ton problème vient de ces répertoires ?

    Sinon, si tu as moyen, essaye de remplacer le [NC,L] par [NC,R] le temps de voir l'URL ré-écrite
     
  8. CrazyCow007
    CrazyCow007 WRInaute discret
    Inscrit:
    28 Décembre 2003
    Messages:
    167
    J'aime reçus:
    0
    Merci pour ta réponse déjà :wink:

    2 questions (surement très bêtes) :
    - Pourquoi tu met un ? devant photos/
    - J'ai jamais compris à quoi correspondait ces balises en fin de règle. Donc c'est quoi la différence entre [NC,L] et [NC,R] ?

    Une autre interrogation :
    Code:
    RewriteRule ^/?photos/([^/]+)$   /filmographie/photos/browser.php?directory=$1 [NC,L]
    
    Ca sous-entend que je met mon .htaccess dans filmographie/ ou dans photos/ ?

    Si c'est dans photos/ ça me pose un problème parce que mon script de photo reconnait ce fichier comme un dossier et m'affiche une erreur (même si dans le code php ça doit être résolvable, si il existe une solution plus simple grace à l'URL Rewriting je préfère).

    Tous mes tests je les ai fait sur un dossier qui n'avait pas d'espace, juste une majuscule au début. Je pense pas que ce soit très compliqué de mettre des tirets à la place des espaces par la suite.

    Maintenant je vais aller tester ton bout de code :wink: :D

    EDIT : Ca ne marche pas (même en enlevant le ?) :cry:
     
  9. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    - Bah je commence par /? parce que j'ai remarqué que le / initial n'apparaissait pas toujours dans les règles de rewrite, alors par habitude je le met toujours au conditionnel (/? match un / ou rien)

    - NC veut dire NoCase : pas de test sur les majuscules/minuscules, donc PHOTOS et photos match pareil
    - L et R sont deux types de ré-ecriture, avec L, c'est fait en local, le navigateur client ne voit pas la différence. Avec R, c'est une redirection, le navigateur de l'utilisateur reçoit donc la nouvelle URL remaniée et tu la vois apparaitre dans la barre d'adresse de ton navigateur comme si tu l'avais tapée, ça permet de vérifier ce qu'a faire le .htaccess

    Quant à l'emplacement du .htaccess, je le mettrais à la racine, pas dans photos/

    Maintenant, tu me dis que ça ne fonctionne pas, faudrait voir avec ce que le NC,R retourne, voir si l'URL a bien été modifiée, parce que sur mes essais rapides chez moi, ça fonctionne, je transforme bien /photos/truc par /filmographie/photos/brower.php?directory=truc
     
  10. CrazyCow007
    CrazyCow007 WRInaute discret
    Inscrit:
    28 Décembre 2003
    Messages:
    167
    J'aime reçus:
    0
    C'est donc hyper pratique [R] :D

    Moi qui justement me cassait la tête a essayer de voir si l'URL renvoyé était bonne.
    Je teste tout ça et je te redis ;)
     
  11. CrazyCow007
    CrazyCow007 WRInaute discret
    Inscrit:
    28 Décembre 2003
    Messages:
    167
    J'aime reçus:
    0
    Avec la balise [R] ça me renvoit http://www.jamesbond-fr.com/filmographie/photos/browser.php?directory=Goldeneye et donc ça marche :D

    Par contre en [L] ça me donne http://www.jamesbond-fr.com/filmographie/photos/Goldeneye/?directory=Goldeneye

    Voilà mon .htaccess (qui est placé dans filmographie/photos) :

    Code:
    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ^([-0-9a-z]+)$ /filmographie/photos/browser.php?directory=$1 [NC,L]
     
  12. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    Bon, après vérification, j'ai dit une c*nnerie plus grosse que moi... le [R] fait bien ce que j'ai dit, mais le [L] signifie : Last, pour éviter de faire une substitution quand celle-là a été appliquée.

    Tu devrais donc garder [NC,L], mais si tu veux tester avec le [R], faudra faire [NC,R,L]

    Essaye donc la ligne exacte suivante :
    RewriteRule ^/?photos/([^/]+)$ /filmographie/photos/browser.php?directory=$1 [NC,L,R]

    Juste pour voir...

    et donc une url du type h**p://www.tonsite.com/photos/GoldenEye

    ça, chez moi en local sur xampp ça fonctionne nickel
    PS: et toutes mes excuses pour le [L], j'étais persuadé que ça signifiait Local et non Last. M'a fallu replonger dans la doc pour m'en rendre compte.
     
Chargement...
Similar Threads - Problème Rewriting images Forum Date
problème url rewriting: css, js et images non chargés URL Rewriting et .htaccess 15 Juillet 2011
Problème url rewriting et affichage d'images chez ovh (mutualisé) Problèmes de référencement spécifiques à vos sites 8 Septembre 2009
url rewriting pose problème avec l'affichage des images URL Rewriting et .htaccess 6 Juillet 2007
Problème d'images suite à un rewriting URL Rewriting et .htaccess 20 Juillet 2005
Problème url rewriting et redirection URL Rewriting et .htaccess 4 Février 2022
Problème URL rewriting URL Rewriting et .htaccess 16 Février 2017
Problème accent URL Rewriting et .htaccess URL Rewriting et .htaccess 4 Novembre 2016
Problème d'url-rewriting sous Nginx Développement d'un site Web ou d'une appli mobile 16 Août 2016
rewriting probleme avec tiret soulignement, espace, accent et. Netlinking, backlinks, liens et redirections 9 Septembre 2015
URL Rewriting qui pose problème URL Rewriting et .htaccess 17 Mars 2015
Probleme d'url double apres url rewriting URL Rewriting et .htaccess 12 Mars 2015
Problème redirection de 404 + Rewriting URL Rewriting et .htaccess 23 Janvier 2015
Augmentation des URL non suivies (Problème Rewriting ?) URL Rewriting et .htaccess 20 Novembre 2014
Problème avec URL rewriting après redirection 301 URL Rewriting et .htaccess 5 Novembre 2014
Problème URL Rewriting Débuter en référencement 1 Septembre 2014
Problème d'URL Rewriting Débuter en référencement 10 Juin 2014
Problème meta en double à cause du rewriting ? URL Rewriting et .htaccess 20 Mars 2014
Problème Rewriting chez 1&1 URL Rewriting et .htaccess 17 Décembre 2013
Problème d'url Rewriting avec des variables URL Rewriting et .htaccess 23 Novembre 2013
probleme URL Rewriting URL Rewriting et .htaccess 19 Octobre 2013