Ralentissement url rewriting

  • Auteur de la discussion Auteur de la discussion lemguiku
  • Date de début Date de début
Bonjour à tous et merci pour l'ajout à ce forum.

Voici mon petit problème.

Afin d'éviter les urls du type :
page.php?id=$1&idj=$2&area=$3

j'ai construit ce petit url rewriting :
Code:
+FollowSymlinks
RewriteEngine On
RewriteRule ^page-(.+)-([0-9]+)-(.+)\.html page.php?id=$1&idj=$2&area=$3 [L]

Hors, cela ralentit carrément le chargement des pages (3-4 secondes) alors que dans la méthode page.php?var=xxx cela se fait instantanément.

Après moultes recherches sur le web je suis tombé ici.

Si quelqu'un voit une erreur dans mon code, je suis preneur.

PS : je suis hébergé chez ovh
 
Bonjour Monsieur

Peut être un $ à la fin de : ^page-(.+)-([0-9]+)-(.+)\.html

C'est-à-dire : ^page-(.+)-([0-9]+)-(.+)\.html$

Amicalement.
 
Alors je viens d'essayer, cela ne marche toujours pas.

Je me demande si cela ne vient pas du fait que je passe trois variables dans l'url.

J'avoue que je bloque.
 
Oui, voici l'exemple


page.php?id=$1&idj=$2&area=$3

id = Char (4)
idj = nb entier
area = char (3)

par exemple :
page-AU-15-FR.html

Merci à vous
 
Dernière édition:
Le regex (.+) est très gourmand en temps machine, ici le quantificateur + boucle sur toute les modèles possibles, le plus rapide est de passer par une classe en lui imposant des modèles pre définis ([a-zA-z0-9]+)
L'autre possibilité est d'utiliser le quantificateur "paresseux" (.+?) pour réduire le nombre de correspondances sur les occurrences.
 
Salut et merci pour ta réponse.

Je viens d'essayer avec les deux cas, je ne comprends pas, ça rame toujours autant (que pour cette page à trois variables), toutes les pages à une variable chargent immédiatement...

Cela pourrait-il venir d'OVH ? Mais je doute, car sur d'autres sites cela fonctionne rapidement :(
 
Reste les logs pour débuger
Chez OVH tu as accès à tes logs, un tel ralentissement va se voir.
Le principe c'est de lancer ton script a une heure donnée et de regarder les logs le lendemain pour voir ce qui ce qui s'est passé a l'heure donnée.
 
Vous nous donnez l'URL pour qu'on teste ?
Même mille variables, une regex ne fera pas utiliser 3 secondes de CPU sur un serveur, on est pas sur un Amstrad là...
 
Essaye (.*) à la place (.+). ;-)

Si tu souhaites une redirection définitive, place une redirection 301 avec le drapeau [R=301,L] à la place de [L].
 
Tu peux aller dans la console de ton navigateur (F12).
Onglet "console" et tu coche "preserve log".
Tu actualise ta page, et tu vois s'il y a des erreurs qui en ressorte.

Et pour les redirections tu as l'addon "redirect path" chez chrome, ça aide bien à voir des erreurs de redirection. Il m'est arrivé d'avoir une lenteur sur une de mes pages qui en fait passait par deux autres pages avant d'arriver au bon endroit !
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut