Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

URLrewriting et plantage serveur

Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
papa
Nouveau WRInaute

Inscrit le: 21 Sep 2004
Messages: 49

URL permanente de ce messagePosté le : Sam Jan 19, 2008 17:10    Sujet du message: URLrewriting et plantage serveur

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


Dernière édition par papa le Mer Jan 23, 2008 12:16; édité 1 fois
 
papa
KOogar
WRInaute accro
WRInaute accro

Inscrit le: 16 Nov 2004
Messages: 2818
Localisation: Bangalore +3h30

URL permanente de ce messagePosté le : Sam Jan 19, 2008 19:14    Sujet du message: URLrewriting et plantage serveur

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.
 
KOogar Visiter le site web du posteur
papa
Nouveau WRInaute

Inscrit le: 21 Sep 2004
Messages: 49

URL permanente de ce messagePosté le : Lun Jan 21, 2008 8:14    Sujet du message: URLrewriting et plantage serveur

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


Dernière édition par papa le Mer Jan 23, 2008 12:16; édité 2 fois
 
papa
KOogar
WRInaute accro
WRInaute accro

Inscrit le: 16 Nov 2004
Messages: 2818
Localisation: Bangalore +3h30

URL permanente de ce messagePosté le : Lun Jan 21, 2008 13:34    Sujet du message: URLrewriting et plantage serveur


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 ^^
 
KOogar Visiter le site web du posteur
papa
Nouveau WRInaute

Inscrit le: 21 Sep 2004
Messages: 49

URL permanente de ce messagePosté le : Lun Jan 21, 2008 15:33    Sujet du message: URLrewriting et plantage serveur

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

[url]http://127.0.0.1/locations-de-vacances/toutes-les-locations.php?DEP=36&et=dans%20l-Indre[/url]
avec

[url]http://127.0.0.1/locations-de-vacances/toutes-les-locations,DEP,36,et,dans%20l-Indre.html[/url]

En revanche il me donne :

[url]http://127.0.0.1/locations-de-vacances/toutes-les-locations.php?DEP=36,et,dans%20l-Indre&ORDER=1[/url]

avec

[url]http://127.0.0.1/locations-de-vacances/toutes-les-locations,DEP,36,et,dans%20l-Indre,ORDER,1.html[/url]


Dernière édition par papa le Mer Jan 23, 2008 12:19; édité 1 fois
 
papa
papa
Nouveau WRInaute

Inscrit le: 21 Sep 2004
Messages: 49

URL permanente de ce messagePosté le : Lun Jan 21, 2008 16:45    Sujet du message: URLrewriting et plantage serveur

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
 
papa
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort