Fichiers PDF

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Fichiers PDF

    Bonjour,

    J'ai créé un intranet avec Joomla 2.5.
    Sur certaines pages, j'ai des liens vers des fichiers PDF.
    Tout fonctionne correctement sauf que lorsque je met à jour un fichier PDF, c'est l'ancien qui s'ouvre.

    Que puis-je faire dans Joomla pour pas que les navigateurs utilisent les fichiers PDF mis en cache mais lisent les fichiers qui se trouvent sur le serveur.

    Merci d'avance pour votre aide.
    Cordialement.

  • #2
    Re : Fichiers PDF

    Bonjour,

    et bienvenue sur le forum.

    Au niveau de Joomla!, il n'y a rien à faire. Par contre dans le fichier .htaccess il faut inclure une règle interdisant le cache pour les fichiers PDF. Mais certains navigateurs, dont les dernières versions de Firefox; ignorent carrément cette règle et continuent à cacher localement les fichiers. Idem pour le cache de certaines box (livebox...)
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : Fichiers PDF

      Bonjour,

      Et il n'y a aucun moyen de "jouer" avec le cache de Joomla ?

      Commentaire


      • #4
        Re : Fichiers PDF

        Joomla! lui-même ne cache pas les fichiers, sauf si tu as activé un cache interne Joomla!.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Fichiers PDF

          dans le menu "Site/Configuration", j'ai "paramètres du cache" qui est désactivé.
          C'est celui là ?

          Commentaire


          • #6
            Re : Fichiers PDF

            Donc tu n'as pas de cache, Joomla! ne cache rien.

            Les navigateurs ont tendance à garder en cache pas mal de choses, idem pour certaine sbox et pour les caches des FAI
            Et là, tu ne peux pas grand chose, sauf utiliser une tentative de désactivation du cache navigateur en utilisant un pragma ou une règle du genre
            Code:
            Header unset Pragma
            FileETag None
            Header unset ETag
            # cache pdf docs for 1 minute
            <FilesMatch "\.(pdf)$">
              Header set Cache-Control "max-age=60, public, must-revalidate"
              #Header unset Last-Modified
            </FilesMatch>
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : Fichiers PDF

              la tentative est un echec ...
              J'ai mis la règle dans le .htaccess sans succès...

              Commentaire


              • #8
                Re : Fichiers PDF

                J'ai trouvé !
                Par info, ça fonctionne sur Internet Explorer et Firefox et sur Chrome.

                Dans le fichier .htaccess, il faut mettre :
                <IfModule mod_expires.c>
                # Turn on Expires and set default to now
                <FilesMatch "\.(pdf)$">
                ExpiresActive On
                ExpiresDefault "now"
                </FilesMatch>
                </IfModule>

                # don't cache pdf docs
                <IfModule mod_headers.c>
                # Remote ETag from headers
                Header unset ETag

                # Disable ETag for files
                FileETag None

                <FilesMatch "\.(pdf)$">
                Header set Cache-Control "private, no-cache, no-store, must-revalidate, no-transform"
                Header set Pragma "no-cache"
                </FilesMatch>
                </IfModule>

                Vérifier aussi que dans le fichier httpd.conf, les modules "mod_expires.c" et "mod_headers.c" sont bien chargés.
                Dernière édition par hirex à 07/03/2014, 11h51

                Commentaire


                • #9
                  Re : Fichiers PDF

                  j'ai le même probléme que toi
                  j'avais mis ceci dans le .htacccess
                  <IfModule mod_headers.c>
                  <FilesMatch "(?i)^.*\.(css|htm|html|gif|jpg|jpeg|js|png|pdf)$" >
                  Header set Cache-Control "no-cache, no-store"
                  </FilesMatch>
                  </IfModule>

                  Mais je n'ai pas vérifié que je ne hargais pas le mod_headers.c
                  Sinon je n'ai pas ce fichier.
                  sur le httpd.conf
                  #LoadModule headers_module modules/mod_headers.so
                  et
                  #LoadModule expires_module modules/mod_expires.so
                  j'ai activé les deux module en .so
                  j'ai remplacé avec mod_headers.c par mod_headers.so
                  mais ça ne fonctionne pas

                  Commentaire


                  • #10
                    Re : Fichiers PDF

                    Salut,

                    T'as pas mis la section "IfModule mod_expires.c" dans ton .htaccess ?

                    Pour le mod_hearders.c je ne sais pas où il est non plus.
                    Après je suis pas un gourou d'Apache :-).

                    Si quelqu'un sait, merci d'avance pour votre aide.

                    Commentaire


                    • #11
                      Re : Fichiers PDF

                      j'ai mis ceci
                      <FilesMatch ".(jpg|png|pdf|txt)$">
                      Header set Cache-Control "max-age=0"
                      </FilesMatch>
                      puis activer le module dans httpd.conf
                      LoadModule headers_module modules/mod_headers.so
                      rebooter
                      et rebooter les services

                      Commentaire


                      • #12
                        Re : Fichiers PDF

                        Bonjour,
                        Envoyé par skoizer Voir le message
                        sur le httpd.conf
                        #LoadModule headers_module modules/mod_headers.so
                        et
                        #LoadModule expires_module modules/mod_expires.so
                        j'ai activé les deux module en .so
                        j'ai remplacé avec mod_headers.c par mod_headers.so
                        mais ça ne fonctionne pas
                        Dans le .htaccess, remplacer des mod_xxx.c par mod_xxx.so ne fonctionnera jamais. C'est la syntaxe mod_xxx.so qui doit être utilisée.

                        Ensuite

                        Pour le mod_hearders.c je ne sais pas où il est non plus.
                        Tout dépend de la compilation, du choix de mode de configuration et de la distribution sur laquelle Apache tourne.

                        Sous linux, la série des LoadModule est parfois directement dans httpd.cong, soit dans un des includes, par exemple /etc/apache2/conf.d/loadmodule.conf, soit encore défini (sous Opensuse) dans /etc/sysconfig/apache2
                        Pas de demande de support par MP.
                        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X