Як змусити Apache2 проаналізувати (без помилок) директиви заголовка в .htaccess?


35

Мені завантажуються сторінки з помилкою 500 внутрішніх серверів, оскільки я вважаю, що директива Apache не налаштована дозволити.

У мене AllowOverride встановлений для всіх і файл .htaccess, включаючи:

<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 має:

[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

Що мені потрібно вказати, щоб Apache2 правильно поводився з директивою "Header"?

Відповіді:


65

За допомогою apache2 просто запустіть, a2enmod headersа потім sudo service apache2 restartвін автоматично встановить модуль заголовків.


2
Цю відповідь слід прийняти
Хіманшу Мішра

1
Дійсно, ця відповідь найкраща, однак я смію сказати, що деякі сучасні дистрибутиви GNU / Linux (як найновіший Debian) засновані systemdі мають різний синтаксис управління службами. Перезапустіть Apache: sudo systemctl restart apache2.service. Однак, на даний момент функція резервного копіювання існує, і тому стара sudo serviceкоманда працює. Але це може перестати працювати найближчим часом.
TranslucentCloud

a2enmodзнаходиться в /usr/sbinмоїй системі. Це не в моєму користувачеві, що не користується судором, PATH, тому a2enmod неможливо знайти, якщо ви не root. TL; DR: бігати sudo a2enmodзамість просто a2enmod.
Майкл Гофман

14

Вам потрібно буде додати рядок типу:

LoadModule headers_module modules/mod_headers.so

До вашої, httpd.confщоб додати підтримку для цього. У Ubuntu та подібних ви можете це зробити, a2enmod headersі це автоматично включить його у вашій конфігурації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.