Comment déboguer le script de réécriture de htaccess
Je me demandais comment créer et déboguer ce genre de script qui peut devenir un peu de maux de tête si vous n'êtes pas habitué à écrire (comme moi).
Utilisez-vous un outil pour créer des?
Des conseils pour déboguer ce qui se passe au lieu de simplement créer une structure locale et voir ce qui se passe dans le navigateur?
source d'informationauteur Soundstep
Vous devez vous connecter pour publier un commentaire.
Note aux lecteurs: la vieille réponse ne fonctionne plus.
À partir de la version 2.4, Apache ne permet plus le
RewriteLogLevel
etRewriteLog
directives. Maintenant, ils sont tous livrés avec le seulLogLevel
directive (voir Les Fichiers Journaux de la documentation), qui prend en charge spécifiques à un module de niveaux de journal avec des préfixes ettrace[1-8]
constantes. Pour définir le niveau de journalisation spécifiquement pour le module de réécriture, vous utilisez maintenant les suivantes:Vous pouvez utiliser une regex outil de test pour vous aider à tester vos modèles à l'encontre de l'Url (je suis en utilisant "La Regex Coach" -- Windows app). Cela va seulement vous aider avec motif -- vous devriez déjà savoir la logique générale /flux de comment réécrire œuvres.
À DEBUG vous devez être en mesure d'éditer le fichier de configuration d'Apache -- utilisation
RewriteLogLevel 9
etRewriteLog /path/to/rewrite.log
pour voir des détails précis sur ce qui se passe au cours de la réécriture d'URL (parce que c'est un serveur de configuration, vous devez redémarrer Apache pour avoir de nouveau la configuration du serveur).Vous avez besoin de niveau 9 si vous voulez debug problématique de la règle. Niveau 3 ou de toute autre assez faible valeur de vous montrer aperçu sur ce qui se passe sans entrer dans les détails.
Ne pas utiliser de niveau 9 sur occupation/serveur de production, il peut générer d'énormes journaux à l'intérieur de quelques secondes.
Si vous avez besoin de faire 301 (permanente) redirige -- 302 au lieu de cela au cours d'une période d'essai (jusqu'à ce que vous êtes heureux avec la règle et les résultats, puis changer pour la 301) que les navigateurs modernes ne cache redirections 301 .. donc vous pouvez vous retrouver dans des situations difficiles lorsque vous avez complètement changé la règle (ou même supprimé), mais le navigateur encore faire des redirections. Le seul remède dans de tels cas, effacer le cache du navigateur et redémarrez.
Vous pouvez définir directive RewriteLog dans votre configuration de virtualhost
Il va écrire les informations nécessaires dans le fichier spécifié par vous.
En outre, l'utilisation RewriteLogLevel directive pour le contrôle de la quantité de l'exploitation forestière
lire à travers