Puncte:0

Apache: Nu pot seta antetul cache complet pentru text/html folosind htaccess

drapel ro
228

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”.

Puncte:0
drapel cn
Bob

Regex pare incorectă. Momentan, se potrivește doar cu fișierele numite .html , .htm etc. și nu ceea ce probabil ai vrut, toate fișierele cu extensia .html.

Încerca:

<FilesMatch ".+\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|TXT|XSD|XSL|XML)$">
228 avatar
drapel ro
228
Încă nu funcționează. Încerc să setez antetul cache-ului pentru fișierul care se numește „/” în DevTools > Network cu inițiatorul „document” și tastați „html”. Doar vârsta maximă va apărea în cache-control, care este setat cu mod_expires, și nu: no-cache, must-revalidate, public.
Puncte:0
drapel ro
228

Iată cum faci ceea ce am încercat să fac. De fapt, nu specificați un tip de fișier. Este confuz deoarece puteți seta vârsta maximă pentru aceasta folosind tipul text/html cu mod_expires.

<IfModule mod_headers.c>
    Header set Cache-Control "max-age=31536000, no-cache, must-revalidate, public"
    Header set Pragma "no-cache"
</IfModule>

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.