Я добавил .htaccess
файл в корневой папке сайта /var/www/html
Похоже, что этот.htaccess не имеет никакого эффекта и не отправляет заголовок Expires
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##
Я пытался регулировать опцию AllowOverride
, как это рекомендуется в много мест. Моего /etc/apache2/sites-available/000-default.conf
файл выглядит следующим образом
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
...
</VirtualHost *:80>
И /etc/apache2/apache2.conf
выглядит этой
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Я абсолютно уверен, что файл .htaccess
просто не работает, потому что когда я добавить случайные символы в файл (попытаться сломать его и получить HTTP-ответ 500
), он вообще не влияет на сайт. Что может быть причиной этого?
Поскольку ваши .htaccess гласит, что он будет делать только что-либо, если загружен mod_expires: вы уверены, загружается mod_expires? 'a2enmod mod_expires' может помочь. –
Это имеет смысл @FlorianHeer, и на самом деле это было проблемой! Я не понимал, что мне пришлось вручную запустить этот модуль. Если вы представите это как ответ, я соглашусь с ним. Просто убедитесь, что вы записываете 'a2enmod expires' вместо' a2enmod mod_expires' – sjbuysse
Спасибо. Я все время забываю, что «mod_» не нужен для 'a2enmod', я получаю это сообщение об ошибке почти каждый раз ;-) –