Skip to content
Valider c301add8 rédigé par esj's avatar esj
Parcourir les fichiers

Enfin compris pourquoi SPIP compile parfois des squelettes où la globale...

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.
parent 5b229f11
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter