Qual é a prática recomendada para atualizar um site inteiro?

1

Eu tenho um site que é um refazer completo de um existente que está pronto para ser lançado. Não consigo encontrar informações suficientes para fazer uma transição bem-sucedida para o novo site.

Eu tenho o novo site acessível a partir de um subdomínio que aponta para public_dev . Em teoria, eu poderia renomear public_html e, em seguida, renomear public_dev para public_html . O problema é que o conteúdo do site atual será armazenado em cache.

Basicamente, estou procurando uma maneira de pedir ao navegador para não usar o cache se ele não estiver no site desde uma data específica.

Devo usar .htaccess ou header() no PHP ou em ambos?

    
por Justin 27.03.2012 / 20:47

3 respostas

2

Por que não usar um cinto e uma abordagem segura e usar os dois. Você também pode definir as metatags em sua seção de cabeçalhos de conteúdo (usando um arquivo de inclusão para atualizações em todo o site)

<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">
    
por 08.05.2012 / 07:19
1

Se você estiver veiculando seu site a partir de arquivos PHP diretos, provavelmente não terá nenhum problema de cache (a menos que tenha implementado alguma forma de gerenciamento de cache). No entanto, coisas como folhas de estilo, imagens e outros arquivos ainda podem ser armazenados em cache pelo navegador.

A sua melhor aposta é provavelmente controlar o seu cache através de .htaccess e definir tudo para expirar um dia antes de pretender implementar o seu Website: . htaccess - Como definir expira a data no passado? .

    
por 08.05.2012 / 04:19
1

A única maneira certa de invalidar todos os caches simultaneamente é alterar os URLs que o navegador realmente vê. Portanto, o seu link se torna algo como link . Todos os arquivos estáticos também precisam ter o novo caminho de URL.

É por isso que um Google e outros criam um processo de "renomeação de ativos" em seu código para todos os ativos estáticos com base no hash MD5. Dessa forma, você pode definir o controle de cache para 10 anos, sabendo com certeza que todas as solicitações de /03b/c49/ef94589d54390435ab0943cd212.png sempre retornarão o conteúdo exato pretendido, e essa URL nunca será solicitada quando for substituída por recursos "mais recentes" . Mas isso exige muito trabalho para configurar, portanto, usar URLs relativas com um novo caminho raiz, como mencionado acima, é mais comum.

    
por 08.05.2012 / 06:15