Apache

Traitement d'une requête

Pour chaque règle de redirection, Apache retire le "perdir prefix" (dossier courant ou placeholder), teste la règle, l'applique si elle matche, et ré-ajoute le per-dir prefix. Le document root est retiré à la fin de l'application de toutes les règles.

<If> génère un placeholder *If/ en guise de per-dir prefix.

Démarrer l'URL de redirection par / (ie /resources/favicon.ico) la rend absolue, et le perdir prefix ne sera pas ré-ajouté après application de la règle.

Déboguer une erreur HTTP 500

[ ] dans le chemin d'installation

N'installez pas Apache dans un dossier dont le nom contient [ ]! Ces crochets "cassent" la configuration d'Apache, et génèrent une erreur. Cette erreur n'est pas remontée dans les log Apache, et ce dernier répond alors une simple HTTP 500 sans plus de précision.

Je vous invite donc à ne pas installer Apache dans un dossier dont le nom contient des crochets [ ], voire aucun caractère spécial. Cela vaut également pour tous les dossiers parents. Evitez donc c:\programmes\Apache[x64] et c:\programmes[x64]\Apache, au profit de c:\programmes\Apache-x64.

Les RewriteRule matchent octet par octet

Dans les RewriteRule d'Apache, . = 1 octet. Or, en UTF-8, certains caractères prennent plusieurs octets, comme qui occupe deux octets (0x66 0x2f). Un seul . ne le matchera pas.

Liens utiles