URLrewriting et plantage serveur

Discussion dans 'URL Rewriting et .htaccess' créé par papa, 19 Janvier 2008.

  1. papa
    papa Nouveau WRInaute
    Inscrit:
    21 Septembre 2004
    Messages:
    26
    J'aime reçus:
    0
    Bonjour,
    J'ai un serveur qui plante (saturation) depuis que je lui ai installé un url rewriting.

    je ne fais pas de renomage simplementje transforme mes adresse :

    page1.php?VAR1=x&VAR2=y
    et
    Page3633.php?VAR5268=v

    EN

    page1,VAR1,x,VAR2,y,et,commentaire-qui-passe-en-variable.html
    et
    Page3633,VAR5268,v,et,commentaire-qui-passe-en-variable.html

    la formule magique suivante dans le .HTACCESS:


    Code:
    RewriteRule (.*)(,.+),([^,]+),([^,&]*)([^,]*)\.html $1$2&$3=$4$5\.html [N]
    RewriteRule (.*),([^,]+),([^,]*)(.*)\.html $1.php?$2=$3$4 [L]
    RewriteRule ^(.*).html $1.php [L]
    me les remets au format php.


    En test ça marche bien et je ne retrouve pas de code d'erreur du genre File does not exist dans les error_log
    mais en production il suffit qu'un ou deux robots "googleboot" ou "voila BETA" arrivent, pour me planter le site sans que j'arrive à savoir d'où ça vient.

    Ensuite tout plante jusqu'au reboot du serveur

    Je vous precise que je suis attaché à utiliser un rewrite assez générique avec des virgules pour ne pas avoir à reprendre tous me liens qui ont des "-" et des" _" ou encore des "123"

    Merci de votre aide
     
  2. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    peut-etre une loupe dans ton code ?

    Code:
    ### EMPECHE LE CODE DE BOUCLER
    RewriteCond %{ENV:REDIRECT_STATUS} 200
    RewriteRule ^.*$ - [L]

    Met un flag dans tes regles pour alleger la recherche

    Code:
    RewriteRule page(,.+),([^,]+),([^,&]*)([^,]*)\.html page$1&$2=$3$4\.html [N]
    et allege tes classes qui sont toute tres gourmandes en ressources:
    ([^,]+) veut dire tout sauf la virgule alors qu'un ([0-9]+) devrait suffir.
     
  3. papa
    papa Nouveau WRInaute
    Inscrit:
    21 Septembre 2004
    Messages:
    26
    J'aime reçus:
    0
    Merci, je vais essayer ça ce matin et je te dirai le résultat.

    Est-ce que je peux abuser de ta patience pour te demander d'être un peu plus didactique :
    Question 1
    je crois comprendre de ce que tu dis, qu'en resserant mes codes autour de mes carcatères utilisés j'économise de la ressource donc si je mets mes noms de page à réécrires en t^te de code c'est mieux que de partir d'un trop ouvert
    Code:
    ([^,]+)
    ?
    Dans ce cas est-ce que je peux utiliser conjointement les deux codes CàD
    d'abord des lignes codes pour des noms de page définit et au cas ou un lien ne serait pas dans le HTACCES utiliser alors la formule générale.
    je devrais alors economiser de la ressource, non ?

    Questions 2
    ayant trois niveau de repertoire, J'ai vu que le HTACCESS du niveau 2 joue pour le niveau trois (c'est à dire qu'il traduit les codes des sous repertoires sans que je remette de htacces dans ces repertoires) Est-ce qu'il vaut mieux alors ne mettre qu'un seul HTACCESS en racine et donner les règles pour les sous repertoires ou vaut-il mieux scinder les rêgle par répertoire quitte à les répeter ?
    Quid alors du demarrage
    Code:
    RewriteEngine On
    peut-on le repeter sans risque dans chaque repertoire ?

    Question 3
    Code:
    ### EMPECHE LE CODE DE BOUCLER 
    RewriteCond %{ENV:REDIRECT_STATUS} 200 
    RewriteRule ^.*$ - [L]
    Peux-tu détailler un peu plus ce que fait cette fonction, elle bloque le code à un certain niveau de répétition Non ?

    Merci d'avance
    Hugues
     
  4. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81

    Oui tu as compris
    Commence ta regle avec un flag et fait des classes moins gourmandes en ressources.


    - Avec l'.htaccesss a la racine, tu veux que ton .htaccess fonctionne pour les fichiers du repertoire /annuaire/ par exemple, il te faut mentionner le chemin dans la regle :
    RewriteRule $ /annuaire/index.php [L]
    - L'autre methode consiste a mettre directement le fichier .htaccess dans le repertoire, dans ce cas la regle ne contient plus le chemin du rep:
    RewriteRule $ /index.php [L]


    ce code va forcer la redirection en empechant le moteur de boucler. Sans danger ^^
     
  5. papa
    papa Nouveau WRInaute
    Inscrit:
    21 Septembre 2004
    Messages:
    26
    J'aime reçus:
    0
    Merci pour tes precisions,
    Ya un truc que je ne comprends pas dans mes réécritures

    je bug sur la routine d'analyse de variable (mon séparateur est la virgule


    RewriteRule ^toutes-les-locations(,.+),([^,]+),([^,&]*)([^,]*)\.html toutes-les-locations$1&$2=$3$4\.html
    RewriteRule ^toutes-les-locations,([^,]+),([^,]*)(.*)\.html toutes-les-locations.php?$1=$2$3 [L]


    me donne bien

    http://127.0.0.1/locations-de-vacan...php?DEP=36[color=red]&[/color]et=dans l-Indre
    avec

    http://127.0.0.1/locations-de-vacances/toutes-les-locations,DEP,36,et,dans l-Indre.html

    En revanche il me donne :

    http://127.0.0.1/locations-de-vacan...[color=red]36,et,dans l-Indre[/color]&ORDER=1

    avec

    http://127.0.0.1/locations-de-vacances/toutes-les-locations,DEP,36,et,dans l-Indre,ORDER,1.html
     
  6. papa
    papa Nouveau WRInaute
    Inscrit:
    21 Septembre 2004
    Messages:
    26
    J'aime reçus:
    0
    Eureka,
    j'avais oublié le [N] en fin de ligne qui doit servir de repetiteur

    Bon il ne me reste plus qu'à alléger mes classes de carcatères
     
Chargement...
Similar Threads - URLrewriting plantage serveur Forum Date
Paramètres urls & urlrewriting => alphabétiques ou codés ? Problèmes de référencement spécifiques à vos sites 30 Mars 2022
Conflit de redirection 301 et Urlrewriting Netlinking, backlinks, liens et redirections 20 Février 2019
Forcer l'utilisation de l'urlrewriting même si le dossier existe URL Rewriting et .htaccess 20 Mai 2014
urlrewriting Problèmes de référencement spécifiques à vos sites 24 Novembre 2013
Question de béotien en urlrewriting URL Rewriting et .htaccess 27 Octobre 2013
problème urlrewriting Débuter en référencement 26 Février 2013
Problème dossier photo protégé + URLRewriting + ErrorDocument URL Rewriting et .htaccess 31 Octobre 2010
urlrewriting qui fonctionne en local mais pas en ligne URL Rewriting et .htaccess 22 Octobre 2010
J'ai du mal a écrire cette ligne de UrlRewriting Débuter en référencement 6 Juillet 2010
Urlrewriting et paramètre URL Rewriting et .htaccess 13 Novembre 2009
Problème sur Urlrewriting et répertoire virtuel Débuter en référencement 5 Mai 2009
Urlrewriting .htaccess, internal error 500 Administration d'un site Web 6 Janvier 2009
probleme sur certain urlrewriting URL Rewriting et .htaccess 29 Septembre 2008
pb d'urlrewriting sur wampserver avec des alias URL Rewriting et .htaccess 16 Mai 2008
Urlrewriting et répertoires URL Rewriting et .htaccess 16 Avril 2008
Probleme URLREWRITING et Ajax! URL Rewriting et .htaccess 3 Avril 2008
Probleme urlrewriting id + mots clés URL Rewriting et .htaccess 2 Mars 2008
Utilisation d'un / dans l'urlrewriting URL Rewriting et .htaccess 25 Juin 2007
Souci de redirection 301 via urlrewriting URL Rewriting et .htaccess 19 Avril 2007
[abandonné] urlrewriting d'un dossier virtuel vers... Débuter en référencement 2 Avril 2007