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

Nouveau WRInaute
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...
 
WRInaute passionné
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.

@+
 
WRInaute accro
>> . 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 ?
 
Nouveau WRInaute
Splitter htaccess

Peut tu me d'avantage sur la façon dont on peux 'splitter' le fichier htaccess?
 
Nouveau WRInaute
e-kiwi a dit:
>> . 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
 
WRInaute passionné
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.



@+
 
WRInaute accro
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é
 
WRInaute discret
30000 page 10000 regles...meme en divisant tout par 10 ..ca ferait encore beaucoup...oui, pourquoi tant de regle ?
 
WRInaute accro
>> 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 !
 
WRInaute discret
gthielen a dit:
e-kiwi a dit:
>> . 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
 
Discussions similaires
Haut