[URL Rewriting] Supprimer automatiquer les paramètres

Discussion dans 'URL Rewriting et .htaccess' créé par sayrus, 27 Février 2009.

  1. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Bonjour,

    J'ai des urls déjà rewritées pour lesquelles je voudrais interdire à un visiteur d'ajouter des paramètres complémentaires.

    Exemple:

    http://www.monsite.com/fr/ma-page.html (qui est déjà une url rewritée pour info)

    Il faut interdire ceci :

    http://www.monsite.com/fr/ma-page.html?param1=val1&param2=val2&param{n}=value{n}

    Donc l'idée serait (dynamiquement) de faire une redirection 301 de

    http://www.monsite.com/fr/ma-page.html?param1=val1&param2=val2&param{n}=value{n}

    vers

    http://www.monsite.com/fr/ma-page.html

    Comment créer cette règle?

    Un grand merci! ;)
     
  2. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
  3. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Bon apparemment personne ne peut m'aider mais je ne lacherai pas sans avoir trouvé de solution. :wink:

    Si maintenant, je veux éviter toute url ayant des paramètres (?param1=x&param2=z&...) si je fais avant le HTML, un test en PHP qui m'indique si il y a des paramètres ou pas et que je fais un header 301 suivi d'un header location de ma page d'accueil, est-ce une bonne solution pour éviter les URLs qui n'existent pas?

    Exemple :

    si quelqu'un fait un lien vers mon site avec une url ayant des paramètres

    http://www.monsite.com/tutoriels/?test=1

    alors je fais

    Code:
    header("Status: 301 Moved Permanently");
    header("Location: http://www.monsite.com/tutoriels/");
    exit();

    si par contre j'ai http://www.monsite.com/tutoriels/ alors je ne fais rien.


    Mon idée est d'éviter que des sites ne fasse des liens vers mon site en incluant des paramètres inutiles, ou qu'on référence des pages de mon site avec des paramètres inutiles, ainsi, cela éviterait du duplicate content...

    Est-ce une bonne idée?
    N'y a-t-il pas plus simple en htaccess?

    Merci.
     
  4. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Je n'ai toujours pas trouvé de solution à mon problème :/
     
  5. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    Il faut utiliser une condition pour supprimer les paramètres :
    Code:
    RewriteCond %{QUERY_STRING} !^$
    RewriteRule ^une_page\.html$ /la_bonne_page.html? [R=301,L]
    Sinon je te conseilles cet article qui donne une bonne solution pour éviter le duplicate content ou les paramètres inutiles. Le principe est de déterminer au début de chaque script le nom de la page que tu attends et de comparer avec l'url appelée :
    http://www.urlrewriting.fr/eviter-le-duplicate-content-avec-des-urls-c ... le_10.html
     
  6. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Ok super!

    Je pensais que je n'aurais plus de réponse! Un grand merci :D
     
  7. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Hello forty,

    L'article est très intéressant... :wink:

    Cependant, dans mon cas, cette technique ne me sera pas utile car je génère, via une fonction PHP, directement les urls rewritées sans passer l'id dedans.

    Donc par exemple si je tape ceci : "une-page.html"

    la fonction va vérifier dans une table à quel id correspond "une-page.html". Si il y a correspondance, alors on à accès à la page.

    Maintenant, si il n'y a pas correspondance, peut-on faire systématiquement une redirection 301 vers index.php?

    Je suppose que l'on peut avoir autant de redirection 301 que l'on veut vers une page?

    Voilà, est-ce correcte comme solution? Merci. :wink:
     
  8. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    Si ta page n'existe pas : soit tu fais une redirection vers la racine soit tu renvoies un code retour 404 avec éventuellement le contenu d'une page 404 personnalisée. J'ai une préférence pour le code retour 404 avec un code du style :
    Code:
    if (...) {
    ...
    } else { // page inexistante
    		header('Status: 404 Not Found', false, 404);
    		include('erreur404.php');
    		exit;
    }
    Si tu ne veux pas faire de page 404 personnalisée, tu peux peut-être remplacer erreur404.php par le contenu de la racine.
    La redirection 301 se fait avec la fonction header comme indiqué dans la page citée.
     
  9. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Oui d'accord, mais les erreurs 404 sont mauvaises pour le référencement, alors je pensais plutôt faire au lieu d'une redirection 404 avec page 404 personnalisée, faire carrément une redirection 301 vers la home...

    N'est-ce pas une bonne idée?
     
  10. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    la redirection est une bonne solution mais il est mieux de gérer au cas par cas pour pointer vers la page la plus proche (par exemple avec une faute d'orthographe dans une url).
    Je gère les 404 au cas par cas en m'envoyant un mail. Suivant le cas je mets en place une redirection, je laisse l'erreur 404 ou je bloque l'accès avec une 403. ca permet de découvrir les liens entrants incorrects, les tentatives de hack, ...
     
  11. sayrus
    sayrus WRInaute discret
    Inscrit:
    27 Février 2009
    Messages:
    107
    J'aime reçus:
    0
    Ha oui pas con :eek:

    Et bien un grand merci pour les conseils et solution. Je vais méditer tout ça... :wink:
     
Chargement...
Similar Threads - [URL Rewriting] Supprimer Forum Date
[URL REWRITING] Redirection 301 pages générées URL Rewriting et .htaccess 12 Novembre 2013
[URL Rewriting] chez free.fr Développement d'un site Web ou d'une appli mobile 6 Juillet 2012
[URL REWRITING] Sous domaines (Blogs) URL Rewriting et .htaccess 8 Décembre 2010
[Url Rewriting] N'aurais je rien compris à la façon de coder le htaccess ? Débuter en référencement 12 Avril 2010
[URL et SEO] majuscule ou pas ? Débuter en référencement 11 Juillet 2016
[URL REWRINTING]] Cacher une variable avec htaccess URL Rewriting et .htaccess 29 Novembre 2013
Google et la balise [url] Débuter en référencement 25 Décembre 2009
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice