Шаг 1: Убедитесь, что включён модуль mod_headers
Перед изменением .htaccess проверьте, активирован ли модуль mod_headers:
apachectl -M | grep headers
Если в выводе появится headers_module (shared)
, значит, модуль включён.
Шаг 2: Добавляем правила в .htaccess
Откройте файл .htaccess и добавьте следующий код:
<IfModule mod_headers.c>
<FilesMatch "\.(html|htm|js|css|php)$">
Header set Cache-Control "no-store, no-cache, must-revalidate, max-age=0"
Header set Pragma "no-cache"
Header set Expires "Thu, 01 Jan 1970 00:00:00 GMT"
</FilesMatch>
</IfModule>
Шаг 3: Перезапуск Apache и очистка кеша
После внесения изменений рекомендуется перезапустить сервер Apache:
sudo systemctl restart apache2 # Ubuntu/Debian
sudo systemctl restart httpd # CentOS/RHEL
Также очистите кеш в браузере (нажмите Ctrl + Shift + Delete и выберите «Кэш»).
<filesMatch "\.(html|htm|js|css|php)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
Заключение
Теперь кеширование браузером на вашем сервере Apache отключено. Если браузер всё ещё загружает старые файлы, попробуйте очистить кеш или перезапустить сервер.