Trops de règles de réécriture htaccess?

Discussion dans 'Crawl et indexation Google, sitemaps' créé par gthielen, 9 Mars 2006.

  1. gthielen
    gthielen Nouveau WRInaute
    Inscrit:
    7 Janvier 2004
    Messages:
    25
    J'aime reçus:
    0
    Nous utilisons l'url rewriting pour notre site de location de dvd. Grâce à cette technique GG connaît pas loin de 30.000 pages html de notre site. Le fichier htaccess contient actuellement des milliers de règles de réécriture (plus de 10.000). Notre site soufre de lenteurs importants lors de la visite des robots des moteurs de recherche. D'autant plus qu'a quelques minutes d'écart nous avons la visite du Googlebot et du Inktomi Slurp.

    Existe t'il une technique permettant de dire au robots de passer uniquement la nuit ou bien de limiter le nombre de pages à un nombre préalablement définit. J'imagine que cela devrait se faire via le fichier robots.txt.

    Connaissez vous le nombre de règle de réécriture maimale à utiliser dans un fichier htaccèss? Tout dépend du trafic présent sur le site bien sûr...
     
  2. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Et de tes performances serveur!

    Moi qui craignais quelques lenteurs au niveau du fichier htaccess avec mes 1000 regles, ce post me soulage un peu.

    Il est impossible de dire à GG de passer à une heure précise (après tout c'est un internaute comme un autre ;)).

    En ce qui te concerne, je te suggèrerais de revoir l'architecture de ton fichier htaccess.

    Tu pourrais par exemple "splitter" celui ci en créant des regles dans des sous repertoires.

    @+
     
  3. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    15 681
    J'aime reçus:
    0
    >> . Le fichier htaccess contient actuellement des milliers
    >> de règles de réécriture (plus de 10.000)

    erreur de conception je penses. j'ai un catalogue avec 300.000 references géré par 1 seule regle. tu dois revoir ça ! pourquoi tant de regles ?
     
  4. gthielen
    gthielen Nouveau WRInaute
    Inscrit:
    7 Janvier 2004
    Messages:
    25
    J'aime reçus:
    0
    Splitter htaccess

    Peut tu me d'avantage sur la façon dont on peux 'splitter' le fichier htaccess?
     
  5. gthielen
    gthielen Nouveau WRInaute
    Inscrit:
    7 Janvier 2004
    Messages:
    25
    J'aime reçus:
    0
    Qu'en pensez vous?

    J'ai renommé le htaccess en ht.txt
    cinehome.com/ht.txt
     
  6. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Si tu as plusieurs répertoires logiques, tu peux les créer de manière physique et ainsi appliquer un fichier htaccess dans ces répertoires.

    Exemple, si tes urls sont de la forme

    http://example.com/sport/football/monprduit.html

    Tu peux créer physiquement le répertoire /sport/ dans lequel tu insère un fichier .htaccess qui applique les regles :

    rewriterule /(.+)/(.+)\.html /fic.php?cat=$1&prod=$2


    Bon, l'exemple n'est pas top ici puisque comme le dit e-kiwi cela relève d'une erreur de conception.

    Perso, j'utilise ce système pour le traitement des langues dans un site multilingue par exemple.



    @+
     
  7. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    15 681
    J'aime reçus:
    0
    bon moi je referai ton referencement en partant de 0

    je m expliques :
    tes regles de re-ecriture ne sont pas optimales, tu utilses le caractere "_" qui ne separe pas les mots. donc si ton but etait de palcer les mots clés dans l'url, cela n'est pas bon, il faut utiliser soit "-", soit "," (trop de "-" et tu ne sera pas référencé sous msn)

    quitte à devoir refaire toutes tes urls, si tu fais par exemple :
    location-dvd,A00108,les-novices.html (tu insere l id dans l'url, comme le font tout le monde)

    ta seule et unique regle sera :
    RewriteRule ^location-dvd,(.+),(.+).html$ film.php?id_dvd=$1 [L]

    maitenant tu perdra ton referencement actuel (si tu en a un) mais au final tu en aura un meilleur dans quelques temps, et un serveur allégé de ton htaccess actuel :) je ne vois pas de meilleur conseil, désolé
     
  8. john70
    john70 WRInaute discret
    Inscrit:
    28 Février 2006
    Messages:
    135
    J'aime reçus:
    0
    30000 page 10000 regles...meme en divisant tout par 10 ..ca ferait encore beaucoup...oui, pourquoi tant de regle ?
     
  9. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Effectivement il faut tout refaire dans ce cas :s
     
  10. gthielen
    gthielen Nouveau WRInaute
    Inscrit:
    7 Janvier 2004
    Messages:
    25
    J'aime reçus:
    0
    Splitter htaccess

    Je vais soumettre vos remarques à notre développeur!

    Merci pour vos réponses!
     
  11. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    15 681
    J'aime reçus:
    0
    >> Je pense que nous allons crééer un sous dossier par genre de film

    c'est pas ce que je disais moi :) tu peux, mais garde mon principe de l'ID dans l'url et une seule regle !
     
  12. mr_go
    mr_go WRInaute passionné
    Inscrit:
    21 Septembre 2005
    Messages:
    1 940
    J'aime reçus:
    0
    Idem que E-kiwi: à ce stade le mieux serait la refonte des règles de réécriture.
     
  13. Tisha
    Tisha WRInaute discret
    Inscrit:
    20 Août 2003
    Messages:
    54
    J'aime reçus:
    0
    Si j'avais ce problème, j'ajouterais un champs indexé dans la table "titre" et un champs indexé dans la table "acteur" contenant exactement la partie variante des l'adresses réécrites. Ensuite je ferais 2 fichiers php pour faire une requête sur chacun, par exemple "rewrite-titres.php" pour les titres et "rewrite-acteurs.php" pour les acteurs en générant la même mise en page. Lorsque ces fichiers php sont prêts, alors tu remplace environ 7530 règles pour les 2 suivantes.

    RewriteRule ^location_dvd_(.*).html$ rewrite-titres.php?titre=$1 [L]
    RewriteRule ^(.*)-dvd-film.html$ rewrite-acteurs.php?acteur=$1 [L]

    Sans requête SQL supplémentaire, donc surement de meilleurs temps d'exécution.

    tisha