Как лучше всего обновлять весь сайт?
У меня есть сайт, который полностью переделан на существующий, готовый к работе. Я не могу найти достаточно информации для успешного перехода на новый сайт.
У меня есть новый сайт, доступный из поддоменов, который указывает на public_dev
, В теории я мог бы переименовать public_html
а затем переименовать public_dev
в public_html
, Проблема в том, что контент с текущего сайта будет кэшироваться.
По сути, я ищу способ попросить браузер не использовать его кеш, если он не был на сайте с определенной даты.
Должен ли я использовать .htaccess
или же header()
в PHP или оба?
3 ответа
Почему бы не взять пояс и подтянутый подход и использовать оба. Вы также можете установить метатеги в разделе заголовка контента (используя включаемый файл для обновлений всего сайта)
<META HTTP-EQUIV="Cache-Control" CONTENT="max-age=0">
<META HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
Единственный верный способ аннулировать все кэши одновременно - это изменить URL-адреса, которые на самом деле видит браузер. Таким образом, ваш http://example.com/index.php становится чем-то вроде http://example.com/2/index.php. Все статические файлы также должны иметь новый URL-путь.
Вот почему Google и другие встраивают процесс "переименования активов" в свой код для всех статических ресурсов на основе хеша MD5. Таким образом, вы можете установить кеширование на 10 лет, точно зная, что любые запросы для /03b/c49/ef94589d54390435ab0943cd212.png всегда будут возвращать точное предназначенное содержимое, и этот URL никогда не будет запрашиваться, если он будет заменен "более новыми" активами., Но для этого требуется много работы, поэтому использование относительных URL-адресов с новым корневым путем, как упомянуто выше, более распространено.
Если вы обслуживаете свой сайт из прямых PHP-файлов, то у вас, вероятно, не будет проблем с кэшированием (если вы не внедрили какую-либо форму управления кэшем). Однако такие вещи, как таблицы стилей, изображения и другие файлы, могут по-прежнему кэшироваться браузером.
Лучше всего, вероятно, контролировать свой кеш через.htaccess и установить срок действия всего за день до того, как вы собираетесь развернуть свой веб-сайт: .htaccess - Как установить срок действия в прошлом?,