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 :

Comment afficher une variable dans l'url ? (URL rewriting et http_referer)


Sujet :

Apache

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Comment afficher une variable dans l'url ? (URL rewriting et http_referer)
    Bonjour à tous,

    Je suis sur un gros projet très important pour moi, et j'ai besoin de votre avis en matière d'url rewriting.

    Je sais qu'il est possible d'ajouter une variable à la fin des urls qui viennent d'un même referer (= d'un même site).

    Ex: le site http://www.sitedorigine.fr/ fait un lien vers http://www.monsite.com/page1.html

    Je cherche à ce que la page qui s'affiche ait l'url suivante: http://www.monsite.com/page1.html?variable=valeur

    Après mes recherches sur le net, je suis arrivé à la formulation suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{HTTP_REFERER} ^http://www.sitedorigine.fr/ [NC]
    RewriteRule ^.*$ ?variable=valeur [L]
    Le problème, c'est que ça fonctionne à moitié: soit la variable s'affiche, mais sur la page d'accueil; soit le navigateur indique une erreur 500.

    Auriez-vous des pistes pour trouver la bonne méthode afin d'arriver à ce résultat ?

    Note : Cette variable n'a besoin d'être affichée que sur l'url de la page de destination seulement. Une fois affichée sur cette page de destination, cette variable n'a plus à s'afficher sur les autres pages visitées. L'essentiel est que la première page visitée affiche cette url.

    Merci d'avance,
    Stef

  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
    Je ne sais pas trop ce qui ne va pas. Peut-être le RewriteRule. Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ $1?variable=valeur [R=302,L]

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    et merci de vos réponses.

    _Mac_: avec cette orthographe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ $1?variable=valeur [R=302,L]
    le site d'arrivée (monsite.com) devient inaccessible. Si j'enlève la redirection 302, le site n'est plus accessible mais avec l'erreur suivante :

    "Internal Server Error"

    Vous avez une idée d'où se situe le problème?

    Merci
    Stephane.

  4. #4
    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
    Il faut garder le RewriteCond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{HTTP_REFERER} ^http://www.sitedorigine.fr/ [NC]
    RewriteRule ^(.*)$ $1?variable=valeur [R=302,L]

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je vais être plus précis sur ce que je souhaite faire:

    J'ai 2 sites: http://www.sitedorigine.fr/ et http://www.monsite.com/.

    Je souhaite tracker les visites de http://www.monsite.com/ envoyées par http://www.sitedorigine.fr/. Pour se faire, j'ai recours à un outil spécialisé pour l'affiliation, qui permet de tracker ces visites automatiquement, grâce à une variable contenue dans l'url.

    Ainsi, lorsque sitedorigine.fr/ fait un lien vers une page de monsite.com/ (par exemple http://www.monsite.com/page1.html), je rajoute la variable dans cette url, et la visite est trackée: http://www.monsite.com/page1.html?variable=valeur

    Cependant, le lien est alors identifié par Google comme étant un lien affilié (à cause de la variable contenue dans l'url du site d'origine). Voulant éviter cela, je souhaite que le site d'origine fasse un lien vers la page en question, sans variable (http://www.monsite.com/page1.html).

    Afin de continuer à tracker les visites, je voudrais que la variable apparaisse dans la barre de navigation, mais une fois que le visiteur est sur mon site. Pour cela, je voudrais faire une redirection, qui dise : "toutes les pages de monsite.com/ qui proviennent de sitedorigine.fr/ affichent en plus la variable "?variable=valeur" dans la barre de navigation.

    Pour se faire, j'ai recours au http_referer. Le problème, c'est que j'ai du mal à le mettre en place.

    D'où ma question: qu'est-ce qui serait le plus approprié pour faire cela ?

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Pour Mac:

    Avec cette modif, le navigateur affiche un écran d'erreur avec la mention : "Boucle de redirection"

    Mais si je recharge la page, alors la page s'affiche correctement et avec la variable.

  7. #7
    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
    Pour la boucle, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{HTTP_REFERER} ^http://www.sitedorigine.fr/ [NC]
    RewriteCond %{QUERY_STRING} !variable=
    RewriteRule ^(.*)$ $1?variable=valeur [R=302,L]

Discussions similaires

  1. Passer une variable dans un objet URL
    Par Mouke dans le forum Android
    Réponses: 2
    Dernier message: 16/04/2014, 08h31
  2. Récupérer une variable dans un lien url
    Par Albanov dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/03/2012, 22h33
  3. Comment afficher une fiche dans une autre fiche ?
    Par psidonio dans le forum Composants VCL
    Réponses: 4
    Dernier message: 01/10/2005, 23h22
  4. Comment completer une variable dans une PROC
    Par Le Basque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2004, 17h18
  5. comment recuperer une variable dans flash
    Par krépuscul dans le forum Flash
    Réponses: 30
    Dernier message: 16/10/2003, 09h40

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