Je copie colle une explication que j'ai déjà donnée ailleur (par mail en fait) :
-------------------------------------
le principe :
un error document : cache/show.php qui intercepte toutes les erreurs.
un fichier de config du cache (pas de mediawiki) : cache/config.php
un fichier de ré-écriture de requette : .htaccess
une requette http sur une page, par exemple :
[
lea-linux.org]
deux cas possibles :
* la page existe (elle est dans le cache) : apache la sert sans broncher.
* la page n'existe pas (elle n'est pas dans le cache) : apache sert :
cache/show.php qui lit la config cache/config.php
il interprête la requete de la manière suivante :
- vérification que l'url est "valide" : affichage d'un 404 sinon
- vérification que l'url n'est pas une url de fichiers à servir
"directement" (images, css, js, etc ...) : sinon un lien est fait pour que
la prochaine fois on n'arrive plus sur un 404), on sert de plus la page (on
renvoie l'image par exemple)
- découpage de l'url pour récupérer les paramètres
- mise à jour de $_GET et $_REQUEST avec les valeurs décodées
- vérification que les paramètres en question ne sont pas, d'après le fichier
de config, des paramètres qui interdise la mise en cache sinon on sert la
page sans rien faire de plus, si la mise en cache est possible : mise en
cache ne find de génération de la page (utilisation de
ob_start("function_de_sauvegarde") ;
et on fini par un include de l'index de mediawiki pour générer et servir la
page, la fonction de sauvegarde fera la sauvegarde dans le cache si
nécessaire un fin d'execution de mediawiki soit normalement soit par exit.
la fonction de sauvegarde ré-écrit aussi les url vers les pages du wiki,
gère l'espace "nocache" etc ...