Я разрабатываю простой веб-сайт с использованием PHP.
Конфигурация разработки: WAMP
Конфигурация производства: ЛАМПА
Во время тестирования я изменил свой CSS-файл, но когда я перезагружаю страницу, мой браузер (не уверен) все еще использует старый кешированный css.
Я сделал несколько поисковых запросов и нашел разные решения, которые я уже пробовал
css/main.css?78923
Ctrl + R
(в Firefox) для принудительной выборки ресурса Clear Cache
Firefox. Когда ничего из этого не получилось, я сделал еще несколько поисковых запросов, где я столкнулся со страницей стека ( здесь ), где кто-то предположил, что Apache кэширует ресурсы. Итак, проблема не в Firefox, а на сервере. Парень также предложил решение, которое я не понял (я был новичком)
Мой вопрос состоит из двух частей:
PS: копирование и вставка решения в стек вопрос (тот, который у меня выше как ссылка) не работает 🙁
Я несколько раз сталкивался с этой проблемой и, как правило, сталкивался с проблемой на производственных сайтах, вызывая мой css, как это
<link rel="stylesheet" type="text/css" href="style.css?v=1" />
Когда вы развертываете обновление, просто измените v=1
на v=2
и это заставит всех ваших браузеров пользователей захватить новые таблицы стилей. Это будет работать и для файлов сценариев. Если вы посмотрите источник в Google
вы заметите, что они используют этот подход.
У меня была такая же проблема с моей системой LAMP dev, вызванной сетевым креплением. Мне удалось избавиться от него, добавив эти две строки в мой apache conf.
EnableMMAP off EnableSendfile off
На моих php-страницах я обычно добавляю текущее время до конца вашего css href:
<link rel="stylesheet" type="text/css" href="style.css?<?php echo date('l jS \of FY h:i:s A'); ?>" />
Ссылка: здесь
Я знаю, что это старый вопрос, но я просто столкнулся с этим и имел некоторые из тех же проблем. Вот быстрый способ не хранить кеш в любом файле:
<link rel="stylesheet" href="css/style.css?<?=time()?>">
Использование помогает получать самую новую версию каждый раз, когда страница загружается.
Во всяком случае, я не понимаю смысла в этом. Для разработки проще просто отключить ваш браузер или нажать Ctrl + r.
Я всегда использую httcacheclean
когда что-то изменяю в файлах активов (js, css и т. Д.),