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
    22,148

    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
    22,148

    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
    22,148

    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
    22,148

    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
    22,148

    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
  •