Frage Wie bekomme ich Apache2, Header-Anweisungen in einem .htaccess (ohne Fehler) zu analysieren?


Ich bekomme Seiten laden mit einem 500 internen Server Fehler, weil ich glaube, dass eine Richtlinie, die Apache nicht konfiguriert wurde, zu ermöglichen.

Ich habe AllowOverride für alle festgelegt und eine .htaccess-Datei, einschließlich:

<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 hat:

[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

Was muss ich angeben, damit Apache2 die Header-Anweisung richtig verarbeitet?


28
2017-07-20 15:18


Ursprung




Antworten:


Mit Apache2, nur ausführen a2enmod headers und dann sudo service apache2 restart und es wird das Header-Modul automatisch installieren.


50
2017-10-19 19:55



Diese Antwort sollte akzeptiert werden - Himanshu Mishra
In der Tat ist diese Antwort die beste, aber ich wage zu sagen, dass einige moderne GNU / Linux-Distributionen (wie das neueste Debian) darauf basieren systemd und haben eine andere Syntax beim Verwalten von Diensten. Starten Sie Apache neu: sudo systemctl restart apache2.service. Ab sofort existiert jedoch eine Fallback-Funktion und somit das Alte sudo service Befehl funktioniert. Aber es könnte aufhören, in der nächsten Zukunft zu arbeiten. - TranslucentCloud


Sie müssen eine Zeile hinzufügen wie:

LoadModule headers_module modules/mod_headers.so

Zu deinem httpd.conf um Unterstützung dafür hinzuzufügen. In Ubuntu und ähnlichem können Sie tun a2enmod headers und es wird automatisch in Ihrer Konfiguration aktiviert.


13
2017-07-20 15:26