У меня есть сайт, полностью переделанный по сравнению с уже существующим, готовый к работе. Я не могу найти достаточно информации для успешного перехода на новый сайт.
У меня есть новый сайт, доступный из поддомена, который указывает на public_dev
. Теоретически я мог бы переименовать public_html
а затем переименовать public_dev
к public_html
. Проблема в том, что контент с текущего сайта будет кэшироваться.
В основном я ищу способ попросить браузер не использовать его кеш, если он не был на сайте с определенной даты.
Должен ли я использовать .htaccess
или header()
в PHP или в обоих?
Почему бы не использовать подход с ремнем и упором и не использовать то и другое. Вы также можете установить метатеги в разделе заголовка контента (используя включаемый файл для обновлений всего сайта)
<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 - Как установить срок действия в прошлом?.