(résolu) [R=301] ou [R=301 L]

WRInaute passionné
Voilà mon soucis...

Je fais mes redirection permanente dans mon .htaccess de cette manière :
Code:
RewriteRule 800_index.php  http://www.science-et-vie.net [R=301]
RewriteRule 1280_index.php  http://www.science-et-vie.net [R=301]
RewriteRule achat_1024.php  http://www.science-et-vie.net/collectionneurs/achat-science-et-vie.php [R=301]
RewriteRule annuaire_800.php  http://www.science-et-vie.net/annuaire/annuaire.php [R=301]
RewriteRule annuaire_1024.php  http://www.science-et-vie.net/annuaire/annuaire.php [R=301]
RewriteRule annuaire_1280.php  http://www.science-et-vie.net/annuaire/annuaire.php [R=301]

et ainsi de suite...
Hors j'ai lu qu'il fallait ajouter le "L" après le 301 ; à quoi cela sert-il ?
 
Nouveau WRInaute
le L sert à arreter le processus.
C'est l'équivalent d'un break dans d'autres langages.
Donc si tu met ca à une ligne et si la condition est vérifiée il exécute et s'arrete, il ne regarde pas toutes les conditions suivantes.
C'est à dire que dans ton cas la condition que le fichier s'appelle 'annuaire_800.php' n'est pas vérifier apres la ligne 5 donc à la fin de la ligne 5 donc tu peux mettre L
Code:
RewriteRule annuaire_800.php  http://www.science-et-vie.net/annuaire/annuaire.php [R=301,L]
Ca évite ainsi que le serveur teste toute les conditions suivantes inutilement.
En mettant cela à chaque ligne ( et à condition que tu n'ai pas des conditions qui soit vérifiées plusieurs fois pour un meme fichier ) cela permet que des qu'il a trouvé le nom du fichier il s'arrete et cela économise des ressources.
Suis-je assez clair ?
 
WRInaute passionné
Complètement, et je vias même dire plus encore :wink:

Car ce que je donnais n'est qu'un petit exemple.
J'ai environ 50 ligne de redirection, et j'en aurais pas loin de 400 lorsque j'aurais intégralement mis mon site à jour.

Je me doutais bien que la lecture de ce fichier serais peut-être un problème si il était trop volumineux, tu me le confirme.

Si je suis ton raisonnement, j'ai intérêt à faire 2 modifications dans mon .htaccess :
:arrow: rajouter le "L" à la fin de chaque ligne.
:arrow: Mettre les url susceptible d'être appelée le plus souvent en haut de fichier.
 
Nouveau WRInaute
oui tout à fait.
Il ne faut tout de même pas passer son temps à ranger dans le meilleur ordre chaque ligne car le gain est assez faible.
Cela dit selon le serveur et le nombre de visites cela peut avoir son importance.
Je crois d'ailleurs que c'est pour cela qu'il n'y a pas le mod_rewrite d'activé chez free car ce serai trop gourmand en ressources...
 
Discussions similaires
Haut