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 :

[URL Rewriting] Tester et utiliser la variable HTTP_REFERER


Sujet :

Apache

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 14
    Points : 17
    Points
    17
    Par défaut [URL Rewriting] Tester et utiliser la variable HTTP_REFERER
    Bonjour,

    Petite question sur le mod_rewrite et ses possibilités. Je voudrais pouvoir écrire la règle de rewrite suivante :

    1) Recupérer dans le referer une partie de l'adresse entre /
    2) Vérifier dans la requete passé la présence de la partie d'adresse récupéré à l'étape 1
    3) Ajouter la partie d'adresse concernée au besoin

    J'ai bien un début d'idée d'un truc de ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    %{HTTP_REFERER} //Le probleme est là
    RewriteCond %{REQUEST_URI} !^/blabla.*
    RewriteRule ^(.*)$  /blabla$1  [PT]
    Merci d'avance

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    'lut,

    Question préliminaire : sais-tu que l'entête Referer n'est pas une donnée fiable ? Certains navigateurs et proxies n'envoient pas cet entête pour des raisons de sécurité et de protection de la vie privée ? Dans ton cas, ça pourrait être gênant

    Sinon, il y a une option (C) à RewriteRule qui permet d'utiliser le résultat d'un RewriteRule dans le RewriteRule suivant. Du coup, si le premier RewriteRule concatène %{HTTP_REFERER} avec l'URI, on peut faire des choses intéressantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    # On verifie que le referer contient ce qu'il faut
    RewriteCond %{HTTP_REFERER} ???a toi de mettre ce qu'il faut ici???
    # On concatene l'URI et le referer avec | entre les 2 comme separateur
    RewriteRule ^(.+) %{HTTP_REFERER}|$1 [C]
    # Avec ce qui suit, $1 vaut le referrer et $2 l'URI
    RewriteRule ^(.*)|(.*)$ ???a toi de mettre ce qu'il faut ici??? [PT]
    J'ai mis | comme séparateur sans vérifier que c'était possible comme ça. Faut peut-être mettre \| ou utiliser autre chose.

    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

Discussions similaires

  1. [URL rewriting] N'avoir qu'une variable à afficher
    Par te-san dans le forum Apache
    Réponses: 6
    Dernier message: 11/12/2009, 13h32
  2. [URL rewriting] Ordre d'utilisation des regles
    Par laquiche dans le forum Apache
    Réponses: 6
    Dernier message: 01/04/2008, 22h40
  3. Réponses: 6
    Dernier message: 12/03/2008, 10h28
  4. Réponses: 8
    Dernier message: 16/02/2008, 00h28
  5. [URL Rewriting] mais où est ma variable ?
    Par Invité dans le forum Apache
    Réponses: 3
    Dernier message: 01/08/2007, 10h45

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