PDF Imprimer Envoyer

Repérer les erreurs d'URL Rewriting

Le debugging d'URL rewriting est un long et fastidieux procédé. Même en y passant plusieurs heures on trouve difficilement la ligne qui pose problème. En effet, en général, l'erreur se décèle uniquement lorsque l'on accède à la page, et que le navigateur nous renvoie une erreur 500 (Internal Server Error). Cela signifie bien sûr que la configuration du .htaccess a mal été effectuée.

 

Peu de gens s'en servent, mais pour remédier à cela il existe une procédure de log de l'activité de Mod-Rewrite. Ce log des activité du module ne vous suffira pas certaines fois pour déceler toutes vos erreurs, mais il s'agit d'un minimum.

Activer RewriteLog

Pour activer RewriteLog connecter-vous en tant qu'administrateur sur votre machine, et éditez à nouveau votre apache2.conf (ou httpd.conf pour les utilisateurs de Apache1). Rappel : vous pouvez enregistrer les lignes ci-dessous dans apache2.conf pour un comportement global de tous les sites gérés par ce serveur, mais vous pouvez aussi attribuer un comportement différents en fonction des sites. Pour ça il vous faut configurer les fichiers présents dans /etc/apache2/site-available. Voilà les deux lignes en question à rajouter à la fin de votre fichier :


RewriteLog /chemin/vers/repertoire/log/nom_du_fichier.txt
RewriteLogLevel 5

Remplacez bien entendu /chemin/vers/repertoire/log/nom_du_fichier.txt par l'adresse où vous souhaitez logger votre activité. Pour choisir ce répertoire il y a deux stratégies. Soit vous rassemblez tous vos fichiers log dans un même répertoire, soit vous enregistrez chaque fichier de log dans le dossier associé au site web. C'est cette deuxième solution que je choisis généralement. La deuxième ligne vous donne la quantité d'information a relever. Cette échelle va de 0 (ne rien enregistrer) à 9 (tout enregistrer).

Sauvez à présent votre modification puis redémarrer Apache (voir la page d'installation et de configuration de Apache ModRewrite).

Faites une requête sur une page que vous tentez de ré-écrire, et allez voir le fichier d'erreur.

 

Remarque importante

Lorsque votre phase de debug est terminée, désactivez le log (commentez les deux lignes avec un # puis redémarrez apache). En effet, avec un site à forte audience, le fichier de log va vite prendre quelque gigabits, et il ralentira votre serveur en même temps qu'il prendra une place énorme sur vos disque.

 

Mise à jour le Mercredi, 29 Octobre 2008 10:30
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir