En PHP, comment enlever les ?id=1 aux URL pour éviter les duplicat content ?

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par stephweb13, 27 Février 2015.

  1. stephweb13
    stephweb13 WRInaute discret
    Inscrit:
    11 Janvier 2012
    Messages:
    67
    J'aime reçus:
    0
    Bonjour,

    Je suis débutant en PHP, je suis en train de créer un petit site pour un ami, et je suis en train de lui faire un admin (mini CMS).
    Et j'ai un problème qui me bloque. Je souhaite avoir des URL sans les points d’interrogations.
    Hier j'ai passé toute la journée dessus, mais je n'y arrive pas. Donc j'ai besoin d'aide SVP.

    Avant mes articles avaient comme URL ceci par exemple :
    http://www.mon-site/article.php?url=testurl

    Mais je veux des url comme ceci par exemple:
    http://www.mon-site/testurl

    J'ai donc ajouté ce code dans dans mon .htaccess :
    Code:
    RewriteRule ^([a-zA-Z0-9-]+)$ article.php?url=$1 [L]
    _Est-ce déjà bien comme ceci qu'il faut d'abord faire? en faisant tout d'abord une règle général de ré-écriture dans un .htaccess ?

    En fait, mes pages sont bien disponibles quand je tape dans le navigateur les nouvelles URL.
    Mais quand je tape dans le navigateur les anciennes URL (par exemple: http://www.mon-site/article.php?url=testurl) , mes page sont aussi encore disponibles, ce qui risque d’être problématique avec Google et les duplicate content...

    Comment faut-il faire pour que mes pages soient disponibles uniquement avec les nouvelles URL ?
    Hier dans Google j'ai lu que c'était peu être possible en PHP avec $_SERVER['PHP_SELF'] ou $_SERVER['REQUEST_URI']), ou je ne sais pas trop quoi d'autre, mais je comprend rien.

    Est-ce possible de m'expliquer comment faire (avec du langage de débutant)?

    Merci beaucoup
     
  2. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    2 037
    J'aime reçus:
    352
    Plusieurs solutions, mais je propose ça :

    Code:
    if (strpos($_SERVER['REQUEST_URI'], '?url=') !== false)
    {
         header('Location: /' . $_GET['url'], true, 301);
         exit();
    }
    Si on trouve ?url= dans l'url, alors on fait une redirection 301 vers le contenu de la variable.
     
  3. stephweb13
    stephweb13 WRInaute discret
    Inscrit:
    11 Janvier 2012
    Messages:
    67
    J'aime reçus:
    0
    Visiblement ça fonctionne, donc Parfait!
    Exactement faut mettre ceci: header('Location: ' . $_GET['url'], true, 301);
    (sans le: /) car avec ça me faisais descendre d'une catégorie.

    Merci beaucoup.
     
Chargement...
Similar Threads - PHP enlever id=1 Forum Date
Enlever le index.php? des liens URL Rewriting et .htaccess 20 Novembre 2013
Enlever de la pub pour les membres sur un forum phpbb3 AdSense 17 Juillet 2010
enlever .php sur toutes les pages Développement d'un site Web ou d'une appli mobile 31 Août 2009
Enlever index.php des urls dotclear URL Rewriting et .htaccess 1 Février 2007
[php] enlever une partie de chaine d'une chaine complete Développement d'un site Web ou d'une appli mobile 12 Avril 2006
Enlever les espaces à la fin d'une chaine de caractèr en php Développement d'un site Web ou d'une appli mobile 23 Janvier 2006
Phpbb enlever le SID et pouvoir aller au panneau d'admin. Référencement Google 9 Janvier 2006
PhpBB 2.0.15 fichier session.php - enlever les sid URL Rewriting et .htaccess 18 Juin 2005
Comment enlever le cadre autour d'un forum phpBB? Administration d'un site Web 3 Avril 2005
Indent en mode PHP ? Développement d'un site Web ou d'une appli mobile 9 Juin 2022
Arborescence de classes PHP et séquentialité. Développement d'un site Web ou d'une appli mobile 16 Mai 2022
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
Actualiser un script php toutes les 10 secondes Développement d'un site Web ou d'une appli mobile 6 Septembre 2021
PHP : problème de comparaison égalité dans boucle FOR avec incrément décimal de 0.1 Développement d'un site Web ou d'une appli mobile 26 Août 2021
Cache Etag nginx et PHP ? Administration d'un site Web 7 Août 2021