Am avut o problemă similară în care nu am putut seta antetul cache complet pentru fișierele JS și CSS în fișierul meu htaccess și s-a dovedit că nu puteam, deoarece expirarea cache-ului era setat pe server și a trebuit să adaug AllowOverride all în containerul vhost pentru a-l face să funcționeze, dar încă nu pot seta antetul cache complet pentru text/html pe o pagină. Pot seta vârsta maximă folosind mod_expires în fișierul meu htaccess, dar dacă încerc să setez un antet cache cu asta:
<FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$">
FileETag MTime Size
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "no-cache, must-revalidate, public"
</IfModule>
</FilesMatch>
Publicul fără cache, care trebuie revalidat, nu apare. Singurul lucru care apare în cache-control este vârsta maximă. Știe cineva cum să remediez acest lucru, astfel încât să pot seta întregul antet cache în htaccess pentru text/html?
Iată ce am după sugestia lui Bob și tot nu funcționează:
<FilesMatch ".+\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$">
FileETag MTime Size
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "no-cache, must-revalidate, public"
</IfModule>
</FilesMatch>
Încerc să setez antetul cache-ului pentru fișierul care se numește „/” în DevTools > Network cu inițiatorul „document” și tastați „html”.