Messages: 25

Enregistré le: 7 Jan 2004

Message le Jeu Mar 09, 2006 9:05

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...
Haut
12 Réponses
Messages: 1945

Enregistré le: 21 Sep 2005

Message le Jeu Mar 09, 2006 9:34

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.

@+
Haut
Messages: 15815

Enregistré le: 23 Déc 2003

Message le Jeu Mar 09, 2006 9:59

>> . 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 ?
Haut
Messages: 25

Enregistré le: 7 Jan 2004

Message le Jeu Mar 09, 2006 10:06

Splitter htaccess

Peut tu me d'avantage sur la façon dont on peux 'splitter' le fichier htaccess?
Haut
Messages: 25

Enregistré le: 7 Jan 2004

Message le Jeu Mar 09, 2006 10:14

e-kiwi a écrit:>> . 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 ?


Qu'en pensez vous?

J'ai renommé le htaccess en ht.txt
cinehome.com/ht.txt
Modifié en dernier par gthielen le Jeu Mar 09, 2006 10:31, modifié 1 fois.
Haut
Messages: 1945

Enregistré le: 21 Sep 2005

Message le Jeu Mar 09, 2006 10:21

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.



@+
Haut
Messages: 15815

Enregistré le: 23 Déc 2003

Message le Jeu Mar 09, 2006 10:28

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é
Modifié en dernier par e-kiwi le Jeu Mar 09, 2006 10:31, modifié 2 fois.
Haut
Messages: 136

Enregistré le: 28 Fév 2006

Message le Jeu Mar 09, 2006 10:29

30000 page 10000 regles...meme en divisant tout par 10 ..ca ferait encore beaucoup...oui, pourquoi tant de regle ?
Haut
Messages: 1945

Enregistré le: 21 Sep 2005

Message le Jeu Mar 09, 2006 10:30

Effectivement il faut tout refaire dans ce cas :s
Haut
Messages: 25

Enregistré le: 7 Jan 2004

Message le Jeu Mar 09, 2006 10:31

Splitter htaccess

Je vais soumettre vos remarques à notre développeur!

Merci pour vos réponses!
Modifié en dernier par gthielen le Jeu Mar 09, 2006 10:34, modifié 1 fois.
Haut
Messages: 15815

Enregistré le: 23 Déc 2003

Message le Jeu Mar 09, 2006 10:32

>> 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 !
Haut
Messages: 1945

Enregistré le: 21 Sep 2005

Message le Jeu Mar 09, 2006 10:54

Idem que E-kiwi: à ce stade le mieux serait la refonte des règles de réécriture.
Haut
Messages: 54

Enregistré le: 20 Aoû 2003

Message le Jeu Mar 09, 2006 15:11

gthielen a écrit:
e-kiwi a écrit:>> . 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 ?


Qu'en pensez vous?

J'ai renommé le htaccess en ht.txt
cinehome.com/ht.txt


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
Haut