Я получаю страницы, загружающиеся с внутренней 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?
apache-2.2
.htaccess
http-headers
Христос Хейворд
источник
источник
systemd
и имеют другой синтаксис управления службами. Перезапустите Apache:sudo systemctl restart apache2.service
. Однако на данный момент существует резервная функция, и поэтому стараяsudo service
команда работает. Но это может перестать работать в ближайшее время.a2enmod
находится в/usr/sbin
моей системе. Этого нет в PATH моего пользователя, не являющегося пользователем sudo, поэтому a2enmod не может быть обнаружен, если вы не являетесь пользователем root. TL; DR: бегиsudo a2enmod
вместо всегоa2enmod
.Вам нужно будет добавить строку вроде:
К вашему,
httpd.conf
чтобы добавить поддержку для этого. В Ubuntu и аналогичных целях вы можете сделать это,a2enmod headers
и он автоматически включит его в вашей конфигурации.источник