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 :

url rewriting & identifiants


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut url rewriting & identifiants
    Bonsoir,

    une petite question toute simple dont je ne trouve aucune reponse

    je viens de mettre en place une regle pour les reecritures des url pour un site marchand et selon certaines recommandations, il faut avoir une url la plus courte possible d'optimiser au max le referencement...
    j'ai donc opté pour cette structure : www.monsite.com/chaussures/101-112/ sans mettre les rubriques et/ ou categories, mais ce que j'aimerais faire est d'afficher UNIQUEMENT www.monsite.com/chaussures/, est ce possible de recuperer les 2 identifiant dont j'ai besoin autrement??

    MErci beaucoup

  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
    bah non : si le navigateur ne transmet pas ces informations, comment veux-tu qu'Apache les devine ? Il n'y a qu'un moyen pour transmettre ces infos sans qu'elles figurent dans l'URL : faire des requêtes POST. Mais là, pour le coup, tu as tout perdu car y a rien de pire que les requêtes POST pour le référencement car les moteurs d'indexation ne les jouent jamais.

    Entre nous, je ne suis pas sûr que ton site gagne en référencement en supprimant ces paramètres d'une URL qui contient déjà mois de 20 caractères... Tu aurais une URL de 150 caractères et tu la ramènerais à 30 ou 50 caractères, je veux bien, mais là, faut pas exagérer. A ce rythme là, autant interdire aux sites d'avoir des sous-répertoires...

    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
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    Bonjour _Mac_ et meilleurs voeux

    bah non : si le navigateur ne transmet pas ces informations, comment veux-tu qu'Apache les devine ?
    j'etais justement entrain de penser a une solution extreme et qui peut s'averer trop penalisante: c'est de faire une requete sql WHERE rub LIKE 'rubrique' mais non, j'oublie!!

    je vais donc mettre les 2 identifiant mais d'une maniere differente:
    www.monsite.com/chaussures/101112/ sachant que l'id est toujours en 3 chiffres, j'utiliserai substr() pour recuperer les 2 identifiants, qu'en penses tu?

    et sinon quelle forme d'url preferes tu?
    - www.monsite.com/chaussures/101112/
    - www.monsite.com/chaussures/101112.html
    - www.monsite.com/chaussures-101112/
    - www.monsite.com/chaussures-101112.html

    si aucune ne te satisfait, que mettrais tu?

    Merci

  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 aucune préférence. Je trouve juste idiot de faire un substr juste pour avoir le plaisir de se passer d'un - dans l'URL. Honnêtement, je ne changerais rien, je trouve www.monsite.com/chaussures/101-112/ très bien. A la limite, www.monsite.com/chaussures/101-112.html ou www.monsite.com/chaussures-101-112.html mais je ne pense pas que changer vaille le coup.

    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
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    OK merci bien, je vais opter pour www.monsite.com/chaussures-101-112/

    penses tu que le site de apple.com utilise les url rewriting ?
    http://www.apple.com/fr/mac/
    http://www.apple.com/fr/iphone/
    http://www.apple.com/fr/ipad/

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    excuse moi, je viens de me rendre compte d'une petite faille:
    quand on est par exemple sur www.site.com/chaussures-101-112/ et que quelqu'un, un petit curieux modifie l'url en www.site.com/chaus-101-112/, j'obtiendrai quand meme la meme page etant donné que je me base sur les identifiants... ceci peut etre penalisant dans la mesure où mon site peut etre reperé pour du Duplicate Content!

    dois je alors faire une verification de l'url avec PHP en me connectant a la base de donnees??? ou as tu une meilleure idee?

    Merci

  7. #7
    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 redah75 Voir le message
    ceci peut etre penalisant dans la mesure où mon site peut etre reperé pour du Duplicate Content!
    A condition que cette URL trafiquée figure sur une page quelque part sur le Web. Si ce n'est pas le cas, rien à craindre.

    Citation Envoyé par redah75 Voir le message
    dois je alors faire une verification de l'url avec PHP en me connectant a la base de donnees???
    Vu que tu ne peux pas faire cette vérification depuis Apache, oui, c'est préférable en PHP.

    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

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    A condition que cette URL trafiquée figure sur une page quelque part sur le Web. Si ce n'est pas le cas, rien à craindre.
    mais j'imagine que c'est preferable de faire une verification, non??
    je remarque qui si je change http://www.developpez.net/forums/d10...-identifiants/
    en http://www.developpez.net/forums/d10...iis/apache/url il me remet l'url originale!! comment developpez.net fait?

    Vu que tu ne peux pas faire cette vérification depuis Apache, oui, c'est préférable en PHP
    le principe est de:
    1- recuperer le titre (chaussures) depuis la base de donnees
    2- le comparer avec l'url
    3- si different alors un header(/chaussures/...); ??

    Merci bien

  9. #9
    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
    Oui, c'est préférable de faire une vérification et c'est ce que fait le forum de DVP.

    Ce que tu décris est correct.

    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

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    Cool, merci
    je vais faire le script de verification et te tiendrai au courant.

    Merci pour tout et bonne nuit

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    avant d'aller dormir, je voulais faire ce petit script que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sel = $dbh->query("SELECT category FROM categories WHERE id_cat = '$id_cat'");
    $res = $sel->fetchObject();
    $cat_db = clean_up_string($res->category); // fonction qui supprimes caracteres speciaux et accents...
    $cat_url = substr($_SERVER['REQUEST_URI'], 1, strrpos($_SERVER['REQUEST_URI'], "-") - 1); // site.com/chaussures-102/
     
    if($cat_db != $cat_url) header("Location: /$cat_db-$id_cat1/");
    et ca marche bien! qu'en penses tu? vois tu une faille ou une meilleure version???
    dois je mettre un header du genre Header( "HTTP/1.1 301 Moved Permanently" ); avant la redirection ?

  12. #12
    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
    PHP met l'en-tête HTTP/1.1 302 (et pas 301) pour toi dès qu'il voit qu'on fait un header("Location").

    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

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    PHP met l'en-tête HTTP/1.1 302 (et pas 301) pour toi dès qu'il voit qu'on fait un header("Location").
    Ah ok, j'ai trouvé le header 301 sur le net. c'est donc pas bon, ok!

    et sinon, par rapport au code, ca te convient?
    pour comparer les 2 chaines de caracteres, mieux vaut utiliser un simple == ou plutot strcmp ou encore substr_compare ?

  14. #14
    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
    Le code me paraît correct en lecture rapide. Faut s'assurer que les connexions aux bases sont bien refermées avant de faire la redirection.

    Pour la comparaison de chaînes, aucune idée, pose la question sur le forum PHP.

    Pour info, je tiens mon 302 de la doc PHP qui devrait être juste (c'est toujours une bonne idée d'aller lire la doc, on ne le répètera jamais assez).

    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

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    OK, parfait!
    Merci infiniment, je ne sais ce que je deviendrai sans vous...

    @ bientot

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

Discussions similaires

  1. URL rewriting sans identifiant
    Par redah75 dans le forum Apache
    Réponses: 8
    Dernier message: 31/01/2013, 23h26
  2. [Débutant]infos ds session sans cookie ? url rewriting ?
    Par Satanas_et_diabolo dans le forum ASP
    Réponses: 8
    Dernier message: 10/10/2006, 17h13
  3. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 20h18
  4. Activer l'url rewriting
    Par Otaugames dans le forum Apache
    Réponses: 2
    Dernier message: 09/03/2005, 14h58
  5. Url Rewriting / htaccess
    Par bisi dans le forum Apache
    Réponses: 4
    Dernier message: 25/07/2004, 22h12

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