Enfin compris pourquoi SPIP compile parfois des squelettes où la globale profondeur_url est incorrecte. Lorsqu'on place dans ecrire/.htaccess une redirection comme "ErrorDocument 403 /?page=403", curieusement Apache met dans $_SERVER[’REQUEST_URI'] l'URL initiale (donc avec .../ecrire/...) tandis qu'il met dans $_SERVER[’SCRIPT_NAME'] l'URL de redirection (dans l'exemple ci-dessus une page à la racine). Du coup, la compilation de cette page à la racine se fait avec une profondeur d'URL qui est celle de ecrire/ et non de la racine. Pour peu que cette page et ses inclusions soient mises en cache, c'est toutes les autres pages qui les partagent qui se retouvent avec de mauvaises URL.

On repère désormais ce cas en testant si $_SERVER['REDIRECT_STATUS'] est non vide, et on fixe alors la profondeur d'URL à 0 abitrairement. Il y a peut-être encore mieux à faire (notamment pour le cas de la mutualisation), mais au moins le cas le plus fréquent ne sera plus faux.