register_hook('ACTION_HEADERS_SEND', 'BEFORE', $this, 'adjustCaching'); } /** * Event: ACTION_HEADERS_SEND * * @param Doku_Event $event event object by reference * * @return void */ public function adjustCaching(Doku_Event $event) { global $INPUT; if (!$this->isPrefetchRequest()) { return; } if (substr($INPUT->server->str('SCRIPT_NAME'), -8) !== 'doku.php') { return; } $event->data[] = 'Cache-Control: max-age=60'; $event->data[] = 'Pragma: '; $event->data[] = 'Expires: '; } private function isPrefetchRequest() { global $INPUT; return $INPUT->server->str('HTTP_PURPOSE') === 'prefetch' || $INPUT->server->str('HTTP_X_MOZ') === 'prefetch'; } }