Внимание! Сайт на этапе разработки и тестирования.

Отключить кеширование браузером на сервере Apache через .htaccess

||| ||| |||

Кеширование — это механизм, позволяющий браузеру сохранять статические файлы (HTML, CSS, JS, изображения) для ускорения загрузки сайта. Однако в некоторых случаях кеширование может приводить к проблемам, особенно при обновлении контента или изменении стилей и скриптов.

В этой статье мы разберём, как полностью отключить кеширование браузером файлов HTML, CSS, JS и PHP на сервере Apache с помощью файла .htaccess. Также рассмотрим, какие модули должны быть включены, чтобы изменения вступили в силу.

 

Шаг 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 отключено. Если браузер всё ещё загружает старые файлы, попробуйте очистить кеш или перезапустить сервер.

Рейтинг
Дата публикации
05.09.2024
Просмотры
230
Категория