Visualizzazione risultati 1 fino 10 di 10

Discussione: Configurazione htaccess con Expires Headres non funziona

  1. #1
    lambruscleague non  connesso Neofita
    Data registrazione
    14-04-2008
    Messaggi
    5

    Predefinito Configurazione htaccess con Expires Headres non funziona

    Ciao a tutti,
    prima di scrivere in questo forum ho cercato e letto altri post sull'argomento, ma nessuno risultava uguale al mio caso.
    Vorrei configurare htaccess in modo da limitare la cache dei browser e "forzare" il caricamento delle pagine del mio sito.
    Riporto qui il contenuto del file htaccess:
    AddHandler av-php5 .php
    #BEGIN EXPIRES HEADERS
    ExpiresActive on
    ExpiresDefault A60
    #END EXPIRES HEADERS
    # av:AntiHotlink
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_URI} \.(gif|jpe?g|png)$ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^https?://([a-z0-9\-\.]*)lambruscleague\.altervista\.org
    RewriteCond %{REQUEST_URI} !^\/_altervista_ht\/
    RewriteCond %{HTTP_REFERER} !^https?://([a-z0-9\-\.]+)google\.
    RewriteRule .*$ http://hl.altervista.org/split.php?http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    # AntiHotlink

    Con questa configurazione mi aspetterei che le pagine "scadessero" nella cache dopo 60 sec. e quindi venissero ricaricate, invece verificando l'header delle pagine e dei file che carica il mio sito vedo che la scadenza di 1 mese.
    Cosa ho sbagliato o cosa mi manca per far funzionare le impostazioni di htaccess?

    Grazie atutti

  2. #2
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,181

    Predefinito

    Prova cos:
    Codice:
    ExpiresDefault "access plus 60 seconds"
    Fammi sapere

    Ciao!
    Ultima modifica di alemoppo : 09-08-2018 alle ore 14.26.05

  3. #3
    lambruscleague non  connesso Neofita
    Data registrazione
    14-04-2008
    Messaggi
    5

    Predefinito

    Grazie per il suggerimento, ma avevo gi provato anche cos senza risultato.
    Sembra quasi che il modulo mod_expires di Apache non sia attivo, possibile?

  4. #4
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,181

    Predefinito

    Vedo che impostato correttamente:



    Ciao!

  5. #5
    lambruscleague non  connesso Neofita
    Data registrazione
    14-04-2008
    Messaggi
    5

    Predefinito

    S la pagina impostata correttamente, ma le risorse che questa carica, ovvero i file js oppure le immagini o i files css hanno tutti una scadenza di un mese e quindi vengono caricati dalla cache.
    Io vorrei che l'impostazione contenuta nel file htaccess valesse per tutti i file in tutte le cartelle e sottocartelle.
    Come posso fare?

  6. #6
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,181

    Predefinito

    Prova specificando il tipo, ad esempio per i js:
    Codice:
    ExpiresByType text/javascript ...
    Ciao!

  7. #7
    lambruscleague non  connesso Neofita
    Data registrazione
    14-04-2008
    Messaggi
    5

    Predefinito

    Ho provato ad impostare ExpiresByType per i js e i css, ma non funziona, infatti i css continuano ad avere una scadenza d 7 giorni, mentre i js continuano ad avere una scadenza di 1 mese.
    In sostanza sembra che le impostazioni di htaccess valgano per solo per la pagina che viene caricata, anche se essa si trova in sottocartelle dell root, ma non valgono per i file che questa pagina carica a sua volta.

  8. #8
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,181

    Predefinito

    Io noto che tutti i file css e js (almeno, quelli nella tua homepage) hanno tutti un tempo di vita di 5 secondi.

    comunque sconsigliata una pratica del genere e ti consiglierei di non utilizzarlo (le cache se ci sono significa che sono utili!). Come mai necessiti ti eliminare la cache?

    Ciao!

  9. #9
    lambruscleague non  connesso Neofita
    Data registrazione
    14-04-2008
    Messaggi
    5

    Predefinito

    L'impostazione di 5 secondi per css e js era una prova per forzare il refresh della cache.
    Adesso ho visto che funziona, ma per farlo funzionare ho dovuto ricaricare completamente (con ctrl-F5) tutte le pagine altrimenti le risorse che gi avevo in cache non venivano ricaricate e non assumevano le nuove impostazioni di htaccess.
    Ora che ho visto che funziona posso impostare correttamente le scadenze per le varie tipologie di risorse.
    Grazie

  10. #10
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,181

    Predefinito

    Normalmente in un sito cambia spesso solamente qualche file (ad esempio file js che contengono json generato da php). In tal caso, invece di utilizzare la cache meglio (e pi sicuro) forzare l'aggiornamento dei file tramite un indirizzo casuale nell'url, del tipo:
    Codice PHP:
    <script src="file.js?rand=<?php echo time(); ?>"></script>
    Cos il browser sar costretto ogni volta ad aggiornare quel file, mentre tutti gli altri saranno in cache e quindi il sito verr caricato velocemente.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •