J'essaie d'ajouter des en-têtes Expires aux réponses HTTP du site sur lequel je travaille. La seule façon pour moi de contrôler le serveur Apache 1.3 est de modifier mon fichier .htaccess. J'ai essayé d'ajouter du code tel que le suivant pour activer les en-têtes Expires:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 hour"
</IfModule>
Cependant, cela entraîne une erreur de serveur interne avec le message d'erreur suivant dans le journal:
ExpireActive non autorisé ici
Je ne peux probablement pas utiliser d'autres méthodes de contrôle du cache, car mod_headers n'est pas activé. Existe-t-il un moyen d'activer l'en-tête Expires à l'aide de mod_expires via certaines commandes du fichier .htaccess?
Mise à jour
Je me souviens avoir lu quelque part que les paramètres de remplacement dans httpd.conf pourraient avoir quelque chose à voir avec cela. Existe-t-il un moyen de valider que tel est bien le problème? Si tel est le cas, existe-t-il une solution de contournement pour contrôler les en-têtes de mise en cache de mon site Web?
L'ajout d '"Index AllowOverride" à la conf. D'Apache pour le dossier dans lequel vous avez htaccess a fonctionné pour moi. Trouvé la solution ici http://speedforce.org/2009/01/were-back/
la source
sur RHEL dans /etc/httpd/conf/httpd.conf
changer AllowOverride Aucun
des index d'options AllowOverride FileInfo
la source
Dans mon cas, mod_expires n'est pas disponible, mais headers_module l'est, cela fonctionne bien (sur Apache 2.0):
la source
J'ai eu le même problème sur Apache 2.4 / CentOS 7. La syntaxe du fichier de configuration est maintenant: "AllowOverride Options = Indexes"
la source