Nginx: Servir sitemap.xml compactado, gzipado uma vez, mas invalidar quando for alterado do backend

1

Eu tenho um sitemap.xml que é executado em 1,5 GB.

Como eu sirvo esse sitemap.xml compactado do nginx para que ele seja compactado apenas uma vez e depois seja exibido? Provavelmente usando o cache também (se possível)

Também atualizo periodicamente o sitemap.xml. Então, nesse caso, o mapa do site compactado deve ser invalidado e o novo compactado

    
por Quintin Par 02.10.2011 / 05:59

2 respostas

1

Afaik, praticamente todos os rastreadores / mecanismos de pesquisa entendem sitemap.xml.gz.

Configure qualquer aplicativo que gere seu sitemap.xml para também compactá-lo e, em seguida, basta que o Nginx exiba esse arquivo pré-compactado. Na configuração do Nginx, adicione algo como

location /sitemap.xml.gz
    add_header Cache-Control "public, must-revalidate";

Além disso, você também pode adicionar um redirecionamento 301 de sitemap.xml para sitemap.xml.gz .

    
por 07.10.2011 / 17:55
2

Você deve ter o http_gzip_static_module ativado. Faça uma versão pré-compactada do arquivo com extensão .gz e remova o arquivo original. O Nginx irá soltar e servir na hora, e se você precisar atualizá-lo - apenas atualize um comprimido.

link

    
por 05.10.2011 / 12:03

Tags