IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Décryptage d'une RewriteRule


Sujet :

Apache

  1. #1
    Membre confirmé
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Par défaut Décryptage d'une RewriteRule
    J'ai un fichier .htaccess avec ce contenu dedans que je suis incapable de déchiffrer... si vous pouviez m'aider à le décrypter...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        RewriteRule    ^$    webroot/    [L]
        RewriteRule    (.*) webroot/$1    [L]
    Merci d'avance.

    PS : Auriez-vous un "bon" site qui explique la syntaxe des rewriterule (google n'est pas mon ami ;-) ), histoire de ne pas mourir idiot ?

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Il y a les tutos de developpez.com :
    http://apache.developpez.com/cours/?...s#urlrewriting

    Sinon, dans le détail, vu que les règles sont dans un .htaccess (enfin, j'imagine), il faut savoir que le premier / des URL n'est pas pris en compte. Donc si on regarde la première règle, ^$ signifie "chaîne vide" dans le langage des expressions régulières, ce qui, si on rajoute le / ignoré signifie tout simplement l'URL "/", donc la racine du site. Et dans ce cas, la première règle dit de réécrire vers "webroot/". Je comprends dans ce cas qu'il y a un répertoire appelé "webroot" à la racine du site : c'est vers ce répertoire que la requête "/" est redirigé.

    Pour la seconde règle : .* signifie "tout et n'importe quoi" (ou presque). Le fait de mettre des parenthèses autour fait qu'on est capable d'utiliser le bloc identifié dans la réécriture : c'est le $1. Donc la règle dit que quoi qu'on demande, on redirige vers "webroot/<ce n'importe quoi>".

    Maintenant, quelques commentaires :
    • La première règle ne sert à rien car elle est "incluse" dans la seconde règle, car .* peut aussi signifier "vide" et réécrire "vide" vers "webroot/<vide>" revient à réécrire vers "webroot/", ce qui est la première règle.
    • Malgré ce qu'on croit souvent, le [L] n'arrête pas totalement, la réécriture, il n'arrête que le cycle de réécriture en court. Apache va rejouer toutes les règles jusqu'à ce qu'il obtienne une URL qui n'est plus réécrite. Donc dans ton cas, l'URL réécrite obtenu "webroot/<n'importe quoi>" va repasser par les règles. Cette URL va activer la seconde règle donc ce "webroot/<n'importe quoi>" va être réécrit en "webroot/webroot/<n'importe quoi>" et on recommence : "webroot/webroot/<n'importe quoi>" va mener à "webroot/webroot/webroot/<n'importe quoi>" etc. etc. Au final, Apache n'arrive pas à obtenir une URL stable et au bout d'un moment il en a marre et il s'arrête sur une erreur 500. Moralité : ces règles ne font que planter ton site.

  3. #3
    Membre confirmé
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Par défaut
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cryptage et décryptage d'une image
    Par etudiante-m dans le forum Images
    Réponses: 3
    Dernier message: 12/11/2018, 17h01
  2. Réponses: 5
    Dernier message: 31/10/2013, 21h37
  3. Décryptage d'une phrase
    Par falls of heaven dans le forum Général Python
    Réponses: 5
    Dernier message: 06/04/2013, 11h38
  4. Comment vérifier une RewriteRule ?
    Par tim1789 dans le forum Apache
    Réponses: 2
    Dernier message: 14/11/2011, 17h02
  5. Décryptage d'une adresse IP ?
    Par Edw@rd dans le forum Débuter
    Réponses: 8
    Dernier message: 24/12/2007, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo