Comment puis-je obliger Apache2 à analyser (sans erreur) les directives d'en-tête dans un fichier .htaccess?


35

Les pages se chargent avec une erreur de serveur interne de 500, ce qui est dû à une directive qu'Apache n'a pas été configurée pour autoriser.

AllowOverride est défini sur all et sur un fichier .htaccess, notamment:

<FilesMatch "\.(eot|ico|pdf|flv|jpg|jpeg|png|gif|svg|swf|ttf|woff)$">
Header set Cache-Control "max-age=31536000, public"
Header set Expires "Wed, 23 Apr 2014 17:00:01 UTC"
</FilesMatch>

/var/log/apache2/error.log a:

[Sat Jul 20 15:12:36 2013] [alert] [client 24.15.83.241] /home/jonathan/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration

Que dois-je spécifier pour qu'Apache2 gère correctement la directive 'Header'?

Réponses:


65

Avec apache2, lancez simplement a2enmod headerspuis, sudo service apache2 restartet il installera automatiquement le module d’en-têtes.


2
Cette réponse devrait être acceptée
Himanshu Mishra

1
En effet, cette réponse est la meilleure, mais j'ose dire que certaines distributions GNU / Linux modernes (comme la dernière Debian) sont basées sur systemdune syntaxe différente pour la gestion des services. Redémarrez Apache: sudo systemctl restart apache2.service. Cependant, à partir de maintenant, une fonction de secours existe et l'ancienne sudo servicecommande fonctionne donc. Mais cela peut cesser de fonctionner dans un avenir proche.
TranslucentCloud

a2enmodest dans /usr/sbinmon système. Ce n'est pas dans le PATH de mon utilisateur non-sudoer, donc a2enmod n'est pas détectable à moins d'être root. TL; DR: courir sudo a2enmodau lieu de juste a2enmod.
Michael Hoffmann le

14

Vous devrez ajouter une ligne comme celle-ci:

LoadModule headers_module modules/mod_headers.so

A vous httpd.confd'ajouter un soutien pour cela. Sous Ubuntu et similaire, vous pouvez le faire a2enmod headerset l’activer automatiquement dans votre configuration.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.