Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

RewriteRule et performances

2 réponses
Avatar
Mihamina Rakotomandimby
Bonjour,
Sur un Apache 2 j'ai un .htacces avec environ 100000 lignes comme celles-ci:

RewriteRule mecanicien-paris-momo.php php/fiches.php?id=118209

Pas de redondance, les lignes sont uniques.
Pas de (...) non plus qui fasse usage de $1, $2,...
Le CPU du serveur: Core2Duo E4400, 1Go de RAM.

On se doute bien que si il y a une URL du type php/fiches.php?id=118209,
c'est qu'il y a une BDD derriere, mais cette base est sur un autre
serveur, et les requetes prennent tout au plus 10% du serveur, et se
font suffisament rapidement. Eventuellement, si quelqu'un se pose la
question, oui les INDEX sont faits.

AllowOverride est a None partout, sauf dans/pour le répertoire ou il y a
mon .htaccess, donc apache n'a pas à le chercher dans toute l'arborescence.

Maintenant, est-ce que 100000 lignes de reecritures aussi simples
peuvent mettre à genoux un tel serveur? Les faits semblent dire que oui,
parceque manifestement c'est la galère.
Si la reponse est OUI, alors est-ce qu'il y a une bonne pratique à
recommander pour un tel volume? Voire peut-etre meme une solution
alternative...

--
Huile Essentielle de Camphre http://www.huile-camphre.fr

2 réponses

Avatar
CrazyCat
Bonjour,

Mihamina Rakotomandimby wrote:
Sur un Apache 2 j'ai un .htacces avec environ 100000 lignes comme
celles-ci:
RewriteRule mecanicien-paris-momo.php php/fiches.php?id8209


...
Maintenant, est-ce que 100000 lignes de reecritures aussi simples
peuvent mettre à genoux un tel serveur? Les faits semblent dire que oui,
parceque manifestement c'est la galère.



Oui, le .htaccess aussi énorme peut mettre par terre ton serveur.
Déjà, je te conseille de mettre le flag [L] à la fin de chaque ligne,
sans quoi tout le fichier sera lu quoi qu'il arrive.

Ensuite, il me semble qu'il serait plus intéressant d'utiliser une
normalisation de tes urls pour pouvoir réduire ton fichier:

RewriteRule ^([a-zA-Z0-9-]+)_([0-9]+).php$ php/fiches.php?id=$2 [QSA, L]



--
Réseau IRC Francophone: http://www.zeolia.net
Aide et astuces webmasters : http://www.c-p-f.org
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Avatar
Olivier Masson
Mihamina Rakotomandimby a écrit :

Si la reponse est OUI, alors est-ce qu'il y a une bonne pratique à
recommander pour un tel volume? Voire peut-etre meme une solution
alternative...




Salut,

Je ne sais pas s'il est possible d'optimiser côté Apache, mais
y'aurait-il un problème à faire des redirection 301 ?

En PHP :
header("Status: 301 Moved Permanently");
header("Location:http://".$url);

Et tu fais ta correspondance url-seo-friendly (et encore, c'est
controversé) <-> id avec une base (sqlite ?) plutôt que par ton .htaccess

Je dis ça sans y avoir réfléchi mais, effectivement, 10000 lignes de
rewriting, ça semble énorme.