Remplacement & par & avec htacess

Discussion dans 'URL Rewriting et .htaccess' créé par s3am, 9 Décembre 2010.

  1. s3am
    s3am Nouveau WRInaute
    Inscrit:
    7 Juillet 2005
    Messages:
    10
    J'aime reçus:
    0
    Bonjour

    j'ai un site avec des url du style :
    http://www.mosite.com/index.php?page=page-demandee&id=n

    Il arrive parfois que des visiteurs arrivent sur mon site avec des url incluant l'esperluette codée :
    http://www.mosite.com/index.php?page=page-demandee&id=n
    pour des raisons que j'ignore.
    Ils tombent alors sur une page leur indiquant que le système a rencontré une erreur; et c'est ce qui me gêne le plus dans cette histoire.

    Est il possible de créer un règle dans le fichier htacess permettant de réécrire les url incluant & pour les mettre comme il faut &
    Merci pour toute aide.
     
  2. fobec
    fobec WRInaute discret
    Inscrit:
    10 Mai 2005
    Messages:
    186
    J'aime reçus:
    0
    Bonjour,

    une solution élégante avec htaccess m'intéresse aussi :D
    Pour rediriger les urls contenants des & vers &, j'utilise le bricolage suivant :
    début de index.php:

    foreach($_GET as $variable => $value) {
    $_GET[str_replace('amp;','',$variable)] = $value;
    }

    As tu trouvé une solution plus élégante ?
     
  3. Djibou_Te@M
    Djibou_Te@M WRInaute occasionnel
    Inscrit:
    20 Avril 2010
    Messages:
    403
    J'aime reçus:
    0
  4. s3am
    s3am Nouveau WRInaute
    Inscrit:
    7 Juillet 2005
    Messages:
    10
    J'aime reçus:
    0
    Bonjour
    Merci pour vos réponses

    Le problème ne concerne pas une url en particulier, il peut apparaitre sur n'importe quelle url du site.
    C'est la raison pour laquelle je ne peux pas définir une règle pour chaque url.

    C'est assez rare, je ne comprends pas pourquoi des visiteurs arrivent sur le site avec des url pareilles.

    Mon objectif serait d'éliminer ce genre de problèmes, car quand les gens trouvent votre site parmi des milliers et qu'ils atterrissent sur une page d'erreur, c'est très moyen comme première impression.
     
  5. fobec
    fobec WRInaute discret
    Inscrit:
    10 Mai 2005
    Messages:
    186
    J'aime reçus:
    0
    @Djibou_Te@M, merci pour l'exemple. Le nombre de paramètre est variable dans l'URL. Pas facile de trouver une règle de réécriture.

    De mon coté:
    - les '&' dans les URL vient du sitemap soumis à Google,
    - Apache ne dirigent pas ces URL vers un 404, en fait, ce sont les noms de paramètres incorrectes dans la variable $_GET qui mène à une erreur.

    L'erreur est provoquée à quel niveau chez toi ?
     
  6. s3am
    s3am Nouveau WRInaute
    Inscrit:
    7 Juillet 2005
    Messages:
    10
    J'aime reçus:
    0
    Merci Fobec, j'ai essayé ton code qui marche impec , je l'utilserais en attendant une solution via htacess.

    Pour les urls dans le sitemap elles contiennent forcement des & (xml oblige), le trafic avec les esperluettes codées ne vient pas de google, mais je pense plutôt a des bots bidons qui fouinent dans le sitemap et qui l'interprettent mal.

    Idem pour moi, L'erreur est provoquée du fait que la variable d'url (dans notre cas de figure) n'est plus id mais amp;id .

    Avec ton code je n'ai plus cette erreur.
     
  7. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 901
    J'aime reçus:
    0
    Je pense qu'une règle de ce type doit marcher :
    Code:
    RewriteCond %{QUERY_STRING} ^(.*)&(.*)$
    RewriteRule ^(.*)$ /$1?%1&%2 [L,R=301]
    la solution php reste la plus simple mais je mettrais plutôt un remplacement de "amp;" que s'il se trouve en début du nom.
     
  8. s3am
    s3am Nouveau WRInaute
    Inscrit:
    7 Juillet 2005
    Messages:
    10
    J'aime reçus:
    0
    Alors là, Je dis : "Chapeau bas"

    Merci Beaucoup Forty, ça marche Nickel.
     
Chargement...
Similar Threads - Remplacement &amp htacess Forum Date
Remplacement d'un blog par un autre - double emploi Administration d'un site Web 18 Septembre 2016
Outil de remplacement adwords editor AdWords 17 Avril 2015
Remplacement de données variable html Développement d'un site Web ou d'une appli mobile 24 Septembre 2014
surligner un texte et proposer des mots de remplacement Développement d'un site Web ou d'une appli mobile 4 Décembre 2013
Problème avec le remplacement d'un site depuis le GWT Crawl et indexation Google, sitemaps 11 Août 2013
Remplacement separateur ancres URL Rewriting et .htaccess 27 Décembre 2012
pertinence remplacement underscore par trait d'union Référencement Google 23 Juillet 2012
Remplacement dans un fichier texte, précisions ? Développement d'un site Web ou d'une appli mobile 11 Mars 2012
remplacement de parking : location de domaine ? Noms de domaine et référencement 2 Mars 2012
Changement d'url + remplacement du site initial : quelles redirections 301 ? Débuter en référencement 17 Janvier 2012
Remplacement yahoo site explorer Débuter en référencement 21 Novembre 2011
Remplacement de caractères Développement d'un site Web ou d'une appli mobile 26 Octobre 2010
PHP HTML : problème nouvelle ligne Remplacement par "rn" Développement d'un site Web ou d'une appli mobile 20 Septembre 2010
[Résolu] Un petit remplacement en PHP ! Développement d'un site Web ou d'une appli mobile 15 Juin 2010
Remplacement texte code html Développement d'un site Web ou d'une appli mobile 6 Mai 2010
XML & Parseur magpierss : Remplacement d'apostrophe par des points d'interrogation Administration d'un site Web 23 Septembre 2009
[resolu] regex php - remplacement d'une chaine à la fin d'une URL Développement d'un site Web ou d'une appli mobile 12 Mai 2009
Remplacement du contenu d'une balise par un autre avec Javascript DOM Développement d'un site Web ou d'une appli mobile 13 Janvier 2009
Expression régulière : Remplacement d'une chaine aléatoire Développement d'un site Web ou d'une appli mobile 9 Septembre 2008
remplacement liens dynamiques par des liens statiques/s phpb Débuter en référencement 7 Septembre 2008