web-dev-qa-db-fra.com

Comment obtenir Apache2 pour analyser (sans erreur) les directives d'en-tête dans un .htaccess?

Je reçois des pages qui se chargent avec une erreur de serveur interne de 500, en raison, je crois, d'une directive qu'Apache n'a pas été configuré pour autoriser.

J'ai AllowOverride défini sur tous et un fichier .htaccess, comprenant:

<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'?

38
Christos Hayward

Avec Apache2, exécutez simplement a2enmod headers et alors Sudo service Apache2 restart et il installera automatiquement le module des en-têtes.

72
James Pelton

Vous devrez ajouter une ligne comme:

LoadModule headers_module modules/mod_headers.so

À ton httpd.conf pour ajouter un support pour cela. Dans Ubuntu et similaire, vous pouvez faire a2enmod headers et il l'activera automatiquement dans votre configuration.

15
Jay