Paramètre de configuration: xsendfile
Dans DokuWiki, tous les fichiers multimédias (par exemple images) sont livrés à l'aide d'un script PHP pour vérifier les restrictions d'accès et, dans le cas des images, les redimensionner. Cela nécessite plus de ressources que de les fournir par le serveur web seul. Plusieurs serveurs Web permettent de prendre en charge la livraison à partir d'un script une fois qu'il a effectué ses contrôles. Cela se fait en envoyant un certain en-tête HTTP. L'en-tête lui-même dépend du serveur web particulier.
Cette option permet d'envoyer cet en-tête. Remarque: si vous activez l'option incorrecte ici, vos images et téléchargements peuvent ne plus fonctionner.
- Type: Nombre
- Défaut: 0
Les options suivantes sont disponibles:
Valeur | Résultat |
---|---|
0 | Aucun entête n'est envoyé, toutes les données sont délivrées par DokuWiki |
1 | Un entête propriétaire lighttpd est utilisé (pour lighttpd < 1.5) |
2 | Un entête standard X-Sendfile header est utilisé |
3 | Un entête propriétaire Nginx est utilisé |
Pour le support X-SendFile dans Apache, vous avez besoin de mod_xsendfile. Ensuite, ajoutez XSendFile on
et la directive XSendFilePath PATH
(par exemple) à votre configuration VirtualHost
. Le PATH
pour XSendFilePath
devrait être le chemin d'accès au répertoire de données de votre installation DokuWiki. Les téléchargements accélérés dans nginx ne sont possibles qu'avec les URI. Configurez un emplacement pour votre répertoire de données par rapport à la racine wiki.
location ~ ^/dokuwiki/data/ { internal; root /public; }
L'option interne
protège le chemin d'accès à distance. Si le répertoire de données n'est pas un sous-répertoire de la racine Web, vous pouvez utiliser plutôt un alias.
location ~ ^/dokuwiki/.*\.php { root /public; # FastCGI options... } location ~ ^/dokuwiki/data/ { internal; alias /private/data/; # note the trailing slash }
Attention: Modifier cette option pourrait engendrer un comportement indésirable.