Redirection lien facebook (langue)

Discussion dans 'URL Rewriting et .htaccess' créé par js13, 23 Janvier 2014.

  1. js13
    js13 Nouveau WRInaute
    Inscrit:
    23 Mai 2007
    Messages:
    8
    J'aime reçus:
    0
    Bonjour,

    J'ai des erreurs 404 pour des pages qui n'existent pas lorsque des liens sont fait depuis Facebook.
    Je ne sais pas vraiment pourquoi mais il veux qu'un fichier de langue (locale) soit déclaré.
    Mon site n'étant pas (encore) multilingue je voudrais éviter ces erreurs.

    Les liens se termine par : ?fb_locale=fr_FR

    Pourriez vous m'aider à faire en sorte que n'importe quelle url contenant ce paramètre (à priori toujours à la fin) ne soit pas pris en compte et soit redirigé vers la page demandé sans ce paramètre ?

    Exemple : www.site.com/page1/page?fb_locale=fr_FR pointe vers www.site.com/page1/page

    D'avance merci.
     
  2. Biloubou
    Biloubou Nouveau WRInaute
    Inscrit:
    11 Juillet 2011
    Messages:
    30
    J'aime reçus:
    0
    Je ne suis pas spécialiste mais moi je mettrais dans le htaccess quelque chose du genre

    Code:
    RedirectPermanent /page1/(.*)\?fb_locale=fr_FR$  www.site.com/page1/$1  [R=301,L]
    A tester ...
     
  3. js13
    js13 Nouveau WRInaute
    Inscrit:
    23 Mai 2007
    Messages:
    8
    J'aime reçus:
    0
    Bonsoir,

    Merci d'avoir répondu.
    J'ai testé mais cela ne fonctionne pas.

    Petite précision par rapport à mon exemple, en fait je voudrais supprimer de l'url demandée le : ?fb_locale=fr_FR
    afin de ne pas rendre indisponible la page réellement demandée.

    Exemple : si http://www.site.com?fb_locale=fr_FR est demandé alors http://www.site.com est donné
    ça c'est bon et mis en place.

    Exemple 2 : si http://www.site.com/page?fb_locale=fr_FR est demandé alors http://www.site.com/page est donné
    Exemple 3 : si http://www.site.com/page/page?fb_locale=fr_FR est demandé alors http://www.site.com/page/page est donné
    etc...

    "page" n'étant pas figé.

    C'est la ou je bloque.

    Merci pour votre aide.
     
  4. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    Normalement ce qui est a droite du ? ne devrait pas être pris en compte par ton système puisque c'est l'énoncé d'une suite de paramètre en GET à transmettre au script pointé par l'url. (comprendre que tes deux exemples sont une seule et unique url)
    Ce qui me fait penser que le problème n'est pas de supprimer cela mais de rétablir le fonctionnement normal ...
    Ce que je comprend de ta recherche c'est que tu tente de patcher un défaut de conception ce qui est pire que de corriger le défaut.

    Sinon a savoir, pour donner un exemple il faut utiliser l'url http://www.example.com et non pas "www.site.com"
     
  5. js13
    js13 Nouveau WRInaute
    Inscrit:
    23 Mai 2007
    Messages:
    8
    J'aime reçus:
    0
    Bonjour,

    Je prend note pour l'exemple.

    De mon point de vue ce n'est pas un défaut dans le sens ou ce site n'est pas multi-langue donc je n'ai pas pris en compte ce de paramètre. Maintenant à priori et cela viendrait de Facebook, lorsqu'un lien est fait il doit être possible de préciser la langue et donc il rajoute ce paramètre qui chez moi provoque des erreurs 404 et rend inutilisable le lien demandé. Ce que je cherche à faire en supprimant ce paramètre c'est juste rendre la vue du lien même si il y'à ce paramètre.
     
  6. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    Bah si c'est un défaut justement ...
    Je passe sur le fait que FB balance des paramètres a la con c'est pas le sujet (ils sont lourd avec ça et c'est pas le seul cas que je connaisse)

    mais dans le principe et la norme web :

    http://www.example.com/dossier/page.truc
    et :
    http://www.example.com/dossier/page.truc?param=valeur
    Doivent être traités de la même façon. C'est a dire être géré par les script "page.truc" dans le dossier "dossier".
    Dans ton cas tu as surement des dossier virtuels comme quasi tout le monde et pour cela tu dois utiliser des règles de réécriture pour gérer la production de contenu. Ton défaut est que tes règles prennent en compte les paramètre GET dans la recherche du contenu demandé. Il faut donc intervenir a ce niveau pour isoler le script de se comportement et non pas rediriger l'url pourrie vers la bonne.

    Comprend que si tu prend le problème comme tu le pose que se passera t'il si demains si je fais des liens comme ça vers ton site :

    http://www.example.com/dossier/page.truc?param=valeur
    http://www.example.com/dossier/page.truc?autre_param=valeur
    http://www.example.com/dossier/page.truc?encor_un_param=valeur

    etc ...
    Tu va ajouter des règles a chaque fois ?

    Et pourtant tu dois conserver la possibilité de passer des paramètres ... (au cas ou ou pour un fonctionnement existant) En l'espèce on se moque totalement de savoir si c'est un paramètre linguistique ou pas.
     
  7. js13
    js13 Nouveau WRInaute
    Inscrit:
    23 Mai 2007
    Messages:
    8
    J'aime reçus:
    0
  8. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    Non ça ce ne sont pas des paramètres, enfin si mais pas dans la norme.
    Quoi qu'il en soit ton site a une règle dans le htaccess qui permet de dire que "blog/mon-titre/page/2" ou "blog/mon-titre" correspond a la page X il faut juste que le script qui gère ça (derrière le htaccess) vire ce qui est a droite du "?" ("?" compris) avant de chercher le contenu et de fabriquer la page. C'est l'histoire d'une ligne de code faut pas agir sur le htaccess pour ça.
     
  9. js13
    js13 Nouveau WRInaute
    Inscrit:
    23 Mai 2007
    Messages:
    8
    J'aime reçus:
    0
    Ok merci pour la piste je vais regarder comment m'y prendre.

    Effectivement mon htaccess est "presque" vide :

    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [QSA]

    Tout se passe dans le code.
     
  10. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    C'est ce que je pensais ...
    En fait ton htaccess envoie sur "index.php" toutes les requêtes qui ne correspondent pas a un fichier physique. C'est "comme" une gestion de 404 (en version simplifiée)
    Donc ton script frontal "index.php" est chargé de gérer les url et de produire le contenu c'est là qu'il faut intervenir sur la variable qui analyse l'url pour filtrer les trucs qui te dérangent je pense.
     
  11. js13
    js13 Nouveau WRInaute
    Inscrit:
    23 Mai 2007
    Messages:
    8
    J'aime reçus:
    0
    Merci pour ta précieuse aide.
    Je vais me pencher sur mon problème.
     
Chargement...
Similar Threads - Redirection lien facebook Forum Date
Absence de redirection ou de lien canonique Netlinking, backlinks, liens et redirections 7 Octobre 2019
Compter les clics sur liens sortants avec redirection Google Analytics 9 Mai 2019
Un lien en redirection Débuter en référencement 20 Juillet 2018
Lien avec redirection vers site tiers qui s'indexent quand meme dans GG Netlinking, backlinks, liens et redirections 11 Juin 2018
Redirection 301 et anciens liens internes Référencement Google 25 Janvier 2018
Désavoeu de liens toxiques ou retirer redirection 301 Référencement Google 9 Janvier 2018
Liens indexés par Google malgré une redirection 301 Crawl et indexation Google, sitemaps 9 Janvier 2017
Redirection des liens php (404) vers .html ou 410 Netlinking, backlinks, liens et redirections 21 Novembre 2016
Redirection 301 ou lien vers money site ? Débuter en référencement 6 Juin 2016
Probleme de redirection de lien avec htaccess URL Rewriting et .htaccess 20 Juin 2015