Journal : RewriteRule

Posté par L. R. (Jabber id, page perso, ) le 09 novembre 2003
0
Salut journal,

Si tu te souviens de moi il y a quelques temps, j'avais un problème avec le RewriteMod pour mes URL.

La solution, oh combien tordue, avait été trouvée dans un RewriteRule ^([^\?/\.]+)$ /?$1 pour que tout ce qu'on donne (comme /montruc mais pas /montruc/) soit renvoyé à /?montruc.

Mon problème aujourd'hui, c'est que j'ai un dossier et que j'aimerais que TOUT ce qui se trouve dedans soit réenvoyé à /?galerie&element=/mon/joli/path/demande.jpg par exemple pour /mon/joli/path/demande.jpg

Pour l'instant j'ai :
RewriteRule ^/galerie/(.*)$ /?galerie&element=$1
et ça ne fonctionne même pas sur un niveau :(

Dans mon .htaccess à / j'ai donc :
RewriteRule ^/galerie/(.*)$ /?galerie&element=$1
RewriteRule ^([^\?/\.]+)$ /?$1

Est-ce que toi, journal à la bonne âme charitable, tu aurais une solution pour moi ? Car là je galère et je dois dire que j'ai un peu de mal avec ces expressions :S

PS: Oui, j'ai déjà RTFMé mais sûrement quelque chose a-t-il du m'échapper, désolé !

> Lire le journal (10 commentaires, moyenne: 0,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: RewriteRule

Posté par penndu () le 09/11/2003 à 17:30. (lien). Évalué à 0.

je n'ai pas le manuel sous la main, je n'en suis donc pas sur, mais il me semble que la nouvelle url doit être absolue.
reRTFM donc un peu sur ce point

  • [^]Re: RewriteRule

    Posté par L. R. (Jabber id, page perso, ) le 09/11/2003 à 18:07. (lien). Évalué à 1.

    Pas selon http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteBase(...)

    ^/somepath(.*) /otherpath$1 /otherpath/pathinfo <-- valide selon la doc

    --
    Quand le chat regarde la tartine beurrée, le sage s'en mord les doigts.

    République bananière -- Banana Republic
    • [^]Re: RewriteRule

      Posté par penndu () le 09/11/2003 à 20:19. (lien). Évalué à 1.

      si j'ai bien compris, tu cherche à remplacer /galerie/truc/bidule.html par /?galerie&element=/truc/bidule.html
      si c'est le cas, ta règle est fausse :
      tu indique ^/galerie/(.*)$ /?galerie&element=$1
      alors qu'il faudrait ^/galerie/(.*)$ /?galerie&element=/$1

      • [^]Re: RewriteRule

        Posté par L. R. (Jabber id, page perso, ) le 09/11/2003 à 20:21. (lien). Évalué à 1.

        Tu es sûr ?
        Car pour avoir à mettre /$1 faudrait que la règle soit ^/galerie(.*)$ et non pas ^/galerie/(.*)$, non ?

        Mais là n'est pas le problème, pour le moment /?=/truc/bidule.html ou /?=truc/bidule.html j'en vois pas encore la couleur :(

        --
        Quand le chat regarde la tartine beurrée, le sage s'en mord les doigts.

        République bananière -- Banana Republic
        • [^]Re: RewriteRule

          Posté par penndu () le 09/11/2003 à 20:43. (lien). Évalué à 1.

          si tu met ^/galerie/(.*)$, tu ne prend pas le / dans la parenthèse et tu est obligé de le remettre devant $1 si tu veux ...=/qqchose

          • [^]Re: RewriteRule

            Posté par L. R. (Jabber id, page perso, ) le 09/11/2003 à 20:51. (lien). Évalué à 1.

            oui, mais tjrs est-il que ça fonctionne pas :(

            --
            Quand le chat regarde la tartine beurrée, le sage s'en mord les doigts.

            République bananière -- Banana Republic
            • [^]Re: RewriteRule

              Posté par penndu () le 09/11/2003 à 20:58. (lien). Évalué à 1.

              as-tu fait le test de virer la seconde règle pour eliminer tout pb?
              sinon, qu'est ce que ça te renvois : err 404?.... avec quel message, quel url? quelle est ta conf apache?
              il faudrait un petit peu plus de billes, en particulier ce que répond apache.

              • [^]Re: RewriteRule

                Posté par L. R. (Jabber id, page perso, ) le 09/11/2003 à 21:20. (lien). Évalué à 1.

                ce qu'il serait sensé répondre si la règle ne s'appliquait pas : un accès refusé au listing du dossier si je demande un somepath/ ou le fichier si je demande un fichier.ext

                si j'enlève la 2ème règle, ça change rien :|

                l'URL ne change rien, j'ai essayé avec un [R] pour voir la redirection mais ça change rien non plus :( même URL.

                Quant à ma conf Apache, tu veux savoir quoi ?

                merci en tout cas :)
                tu as d'autres idées ?

                --
                Quand le chat regarde la tartine beurrée, le sage s'en mord les doigts.

                République bananière -- Banana Republic
                • [^]Re: RewriteRule

                  Posté par Gabriel () le 09/11/2003 à 21:55. (lien). Évalué à 1.

                  salut,
                  Il y a qqch comme rewrite Log et un logLevel de 1 à 9 je crois? Au moins tu verras si cela passe par ta règle. Sinon c'est que ta règle de reconnaissance de l'url est foireuse.
                  Qqs suggestions en vrac et sans discernement
                  - Pb du fait que tu mets ^/ donc ton as besoin d'un url http://monserveur/galerie/...(...) et qu'en fait tu as comme url http://monserveur/monrepertoire/galerie/...(...) ?
                  - Pb de casse? (je ne sais pas si rewrite fait attention à la casse et j'ai pas tout lu le manuel.
                  - pb du fait qu'il manquerait rewrite engine ON (mais il râlerait au démarrage ?)
                  - Tu modifies le mauvais fichier? (un grand grand grand classique ;-) )

                  --
                  Every takeoff is optional. Every landing is mandatory. -- Rules Of Flying

Revenir en haut de page