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 :

viré un paramètre d'une url. ( paramètre récurent ).


Sujet :

Apache

  1. #1
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut viré un paramètre d'une url. ( paramètre récurent ).
    Bonjour,

    je cherche une règle de rewriting me permettant de faire ceci :

    ( en fait pour l'histoire )
    un blackhat à réussi à couler un site web en faisant indexer une multitude d'url de type :

    monsite.com/products.php?ref=sonsite.com?id=45

    l'intru c'est bien le ?ref=sonsite.com & pas le ?id=45 qui lui est normal.
    Dans l'immédiat, des 404 ont été mises avec redirection 301 vers la home.

    cependant, ce que je voudrais c'est rediriger :

    monsite.com/products.php?ref=sonsite.com?id=45

    vers monsite.com/products.php?id=45

    connaissez vous une règle de rewrite me permettant de subvenir à mon besoin ?

  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
    C'est quelle version d'Apache ? C'est pour tester localement : l'idée serait de tester la valeur de la query string avec un RewriteCond mais avec 2 ?, je ne sais pas ce que vaut la variable %{QUERY_STRING}.

    L'autre solution serait de travailler directement avec %{THE_REQUEST} et vérifer s'il y a 2 ?, et dans ce cas, rediriger en ne prenant en compte que ce qui se trouve après le second :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
    RewriteCond %{THE_REQUEST} \ (.*)\?.*\?(.*)\ .*$
    RewriteRule .* %1?%2 [R=301,L]
    J'ai testé, ça a l'air de marcher.

    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

  3. #3
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    hu,

    pire encore
    il y'à des urls avec plusieurs paramètres, d'autres moins.
    les produits en sous catégories par exemple.

    j'ai les pages de "classement" des produits aussi.
    mais qui elles sont en "noindex", donc je m'en fou quelque part qu'elle se duplique, vu qu'elle sont déjà considérée comme duplicate.

    Je pensais sinon à une règle de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^products.php?(ref=sonsite.com)\?id=([0-9]+)$ /products.php?id=$2 [L,R=301]
    ou alors, je vais passer par php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $_HOST = $_SERVER['HTTP_HOST'];
    $_URI = $_HOST. $_SERVER['REQUEST_URI'];
     
    if(ereg("?ref=sonsite.com",$_URI))
    {
    $_URI = str_replace("?ref=sonsite.com","",$_URI);
     
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: $_URI");
    exit();
    }
    ?>

  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
    Je n'ai pas compris : hormis une erreur de frappe (j'avais mis R=302 au lieu de R=301), pourquoi ma solution semble ne pas te convenir ?

    Sinon, si tu as trouvé une solution, pense à cliquer sur le bouton en bas de page

    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

  5. #5
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    en fait, c'est moi qui ai oublié un morceau de ma réponse.

    qui était de savoir ce qui était préférable entre les deux, car je n'arrive pas à interpréter tes lignes.

  6. #6
    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
    Ben, je les ai expliquées :
    Citation Envoyé par _Mac_ Voir le message
    L'autre solution serait de travailler directement avec %{THE_REQUEST} et vérifer s'il y a 2 ?, et dans ce cas, rediriger en ne prenant en compte que ce qui se trouve après le second

    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

  7. #7
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    & c'est la que je réponds que d'une url à l'autre, le paramètre se place au 1er, ou au deuxième ?

    que certaines urls, compte d'ailleurs jusqu'à 5 ?

    ------

    ARF.

    je dis des conneries, tu as totalement raison
    en fait, je parlais de plusieurs & et non des ?

    bref, ta solution est impec
    sorry pour ma connerie.

  8. #8
    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
    Citation Envoyé par Him Voir le message
    & c'est la que je réponds que d'une url à l'autre, le paramètre se place au 1er, ou au deuxième ?
    Quel paramètre ?

    Tu veux dire que l'URL peut contenir plus de 2 "?" ? Ma règle suppose qu'il n'y a que 2 "?" dans l'URL et elle redirige en ne reprenant que ce qui se trouve après le second "?", quelque soit ce truc. Par exemple, si tu as http://.../titi/toto?bla=ble&bli=bloblu?vive=les&abeilles=jaunes, tu es redirigé vers http://.../titi/toto?vive=les&abeilles=jaunes.

    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

  9. #9
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    ouep c'est ce que j'ai compris à la fin. ( d'ou mon "ARF" :p )

    merci à toi !

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

Discussions similaires

  1. erreur de passage de paramètre dans une urL
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/02/2007, 12h29
  2. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15
  3. récupérer les paramètres dans une url
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 23/12/2005, 10h08
  4. Réponses: 2
    Dernier message: 21/09/2005, 17h23
  5. Passage d'un tableau javascript en paramètres d'une URL
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/09/2005, 10h46

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