Ergebnis 1 bis 29 von 29

Thema: Komprimierung

  1. #1
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard Komprimierung

    Hi Community,

    ich hab jetzt schon soviele Hinweise und Tips gelesen, dass ich kaum noch durchsehe.
    Eine kompriierung ist bei shared hosting nicht möglich laut 1&1 Hilfe.. zumindest kein deflate.

    hat hier jemand ne lauffähige Technik um dennoch was an speed rauszuholen?

    gruss
    ways

    PS: was bin ich glücklich, dass mein Server solche Probleme nicht hat

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.110
    Partner-ID
    10107

    Standard

    Ist tatsächlich mod_deflate nicht verfügbar oder nur mod_filter nicht?

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    In einem anderen Thread habe ich beschrieben, wie ich es bei meinen Kundenwebsites gelöst habe. Die .htaccess ist mittlerweile etwas anders, was Schritt 3 überflüssig macht.

  4. #4
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ist tatsächlich mod_deflate nicht verfügbar oder nur mod_filter nicht?


    leider beides nicht vorhanden, nur bei servern gibt es immerhin deflate (siehe hier)

  5. #5
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    In einem anderen Thread habe ich beschrieben, wie ich es bei meinen Kundenwebsites gelöst habe. Die .htaccess ist mittlerweile etwas anders, was Schritt 3 überflüssig macht.
    genau den threas hab ich gut gelesen.... hab auch gelduld mitgebracht... leider nüscht

    was heißt bissel anders? hast du was funktioneirendes am start?

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, ich habe hier eine 3.5.0 Installation, bei der die komprimierten Ressourcen erzeugt werden, bei der Google Pagespeed zumindest nicht meckert, dass die Komprimierung nicht aktiviert sei und bei der im Response-Header steht:
    Code:
    Vary: User-Agent,Accept-Encoding
    Content-Encoding: gzip
    Bissel anders heisst, dass mittlerweile der Block aus dem anderen Thread (FilesMatch ....), der die RewriteEngine für bestimmte Dateitypen komplett abgeschaltet hat, nicht mehr in der .htaccess enthalten ist. Dafür gibts jetzt weiter unten bei der RewriteRule für die Seiten die zusätzliche RewriteCond mit den ganzen Endungen. Diese beeinträchtigt aber, im Gegensatz zu dem älteren Filesmatch Block nicht die Umschreibung der URLs von css nach css.gz und von js nach js.gz, deshalb muss da auch nichts gemacht werden, obwohl die Liste auch css und js enthält.
    An welcher Stelle klemmts denn noch? Werden die komprimierten Dateien in assets/css bzw. assets/js nicht erzeugt? Oder werden sie erzeugt und nicht ausgeliefert? Oder zeigt der Response-Header, dass nicht komprimiert wird? Ich stelle mal die anonymisierte Version der .htaccess hier rein und auch die benutzte php.ini, beide im Installationsverzeichnis. Sehe gerade, das könnte noch meine .htaccess aus der 3.2.x sein. Ich werde nachher nochmal mit der komplett "neuen" .htaccess testen und die abgeänderte neue Version dann ggf noch hier anhängen.

    .htaccess
    Code:
    ##
    # Contao Open Source CMS
    #
    # Copyright (c) 2005-2014 Leo Feyer
    #
    # @package Core
    # @link    https://contao.org
    # @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
    ##
    
    ##
    # Prevent access to the Contao template files
    ##
    <FilesMatch "\.(tpl|html5|xhtml)$">
      <IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
      </IfModule>
      <IfModule mod_authz_core.c>
        Require all denied
      </IfModule>
    </FilesMatch>
    
    ##
    # Allow access from all domains for webfonts
    # @see https://github.com/h5bp/html5-boilerplate
    ##
    <IfModule mod_headers.c>
      <FilesMatch "\.(ttf|ttc|otf|eot|woff|font\.css)$">
        Header set Access-Control-Allow-Origin "*"
      </FilesMatch>
    </IfModule>
    
    ##
    # Disable ETags
    # @see http://developer.yahoo.com/performance/rules.html#etags
    ##
    FileETag None
    <IfModule mod_headers.c>
      Header unset ETag
    </IfModule>
    
    ##
    # Set the proper MIME types
    # @see https://github.com/h5bp/html5-boilerplate
    ##
    <IfModule mod_mime.c>
      AddType application/javascript              js jsonp
      AddType application/json                    json
      AddType audio/ogg                           oga ogg
      AddType audio/mp4                           m4a f4a f4b
      AddType video/ogg                           ogv
      AddType video/mp4                           mp4 m4v f4v f4p
      AddType video/webm                          webm
      AddType video/x-flv                         flv
      AddType image/svg+xml                       svg svgz
      AddEncoding gzip                            svgz
      AddType application/vnd.ms-fontobject       eot
      AddType application/x-font-ttf              ttf ttc
      AddType font/opentype                       otf
      AddType application/x-font-woff             woff
      AddType image/x-icon                        ico
      AddType image/webp                          webp
      AddType text/cache-manifest                 appcache manifest
      AddType text/x-component                    htc
      AddType application/xml                     rss atom xml rdf
      AddType application/x-web-app-manifest+json webapp
      AddType text/x-vcard                        vcf
      AddType application/x-shockwave-flash       swf
    </IfModule>
    
    ##
    # Gzip compression
    # @see https://github.com/h5bp/html5-boilerplate
    ##
    <IfModule mod_deflate.c>
      <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
        AddOutputFilterByType DEFLATE application/javascript
        AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
        AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
        AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
      </IfModule>
    </IfModule>
    
    ##
    # Expires headers (for better cache control)
    # @see https://github.com/h5bp/html5-boilerplate
    ##
    <IfModule mod_expires.c>
      ExpiresActive on
    
      ##
      # Productional website
      ##
      ExpiresByType text/cache-manifest           "access plus 0 seconds"
      ExpiresByType text/html                     "access plus 0 seconds"
      ExpiresByType text/xml                      "access plus 0 seconds"
      ExpiresByType application/xml               "access plus 0 seconds"
      ExpiresByType application/json              "access plus 0 seconds"
      ExpiresByType application/rss+xml           "access plus 1 hour"
      ExpiresByType application/atom+xml          "access plus 1 hour"
      ExpiresByType image/gif                     "access plus 1 month"
      ExpiresByType image/png                     "access plus 1 month"
      ExpiresByType image/jpeg                    "access plus 1 month"
      ExpiresByType image/x-icon                  "access plus 1 month"
      ExpiresByType video/ogg                     "access plus 1 month"
      ExpiresByType audio/ogg                     "access plus 1 month"
      ExpiresByType video/mp4                     "access plus 1 month"
      ExpiresByType video/webm                    "access plus 1 month"
      ExpiresByType text/x-component              "access plus 1 month"
      ExpiresByType application/x-font-ttf        "access plus 1 month"
      ExpiresByType font/opentype                 "access plus 1 month"
      ExpiresByType application/x-font-woff       "access plus 1 month"
      ExpiresByType image/svg+xml                 "access plus 1 month"
      ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
      ExpiresByType text/css                      "access plus 1 year"
      ExpiresByType application/javascript        "access plus 1 year"
    
      ##
      # Disable caching during development
      # @see https://github.com/contao/core/issues/4364
      ##
      #ExpiresByType text/cache-manifest           "access"
      #ExpiresByType text/html                     "access"
      #ExpiresByType text/xml                      "access"
      #ExpiresByType application/xml               "access"
      #ExpiresByType application/json              "access"
      #ExpiresByType application/rss+xml           "access"
      #ExpiresByType application/atom+xml          "access"
      #ExpiresByType image/gif                     "access"
      #ExpiresByType image/png                     "access"
      #ExpiresByType image/jpeg                    "access"
      #ExpiresByType image/x-icon                  "access"
      #ExpiresByType video/ogg                     "access"
      #ExpiresByType audio/ogg                     "access"
      #ExpiresByType video/mp4                     "access"
      #ExpiresByType video/webm                    "access"
      #ExpiresByType text/x-component              "access"
      #ExpiresByType application/x-font-ttf        "access"
      #ExpiresByType font/opentype                 "access"
      #ExpiresByType application/x-font-woff       "access"
      #ExpiresByType image/svg+xml                 "access"
      #ExpiresByType application/vnd.ms-fontobject "access"
      #ExpiresByType text/css                      "access"
      #ExpiresByType application/javascript        "access"
    
    </IfModule>
    
    ##
    # Header adjustments
    ##
    <IfModule mod_headers.c>
    
      ##
      # Disable caching during development
      # @see https://github.com/contao/core/issues/4364
      ##
      #Header unset Cache-Control
      #Header append Cache-Control must-revalidate
    
      ##
      # Do not cache the cron.txt file
      # @see https://github.com/contao/core/issues/5105
      ##
      <FilesMatch "cron\.txt$">
        Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform"
      </FilesMatch>
    
      ##
      # Add a Vary Accept-Encoding header for the compressed resources. If you
      # modify the file types above, make sure to change them here accordingly.
      # @see http://developer.yahoo.com/performance/rules.html#gzip
      #
      # Note: If you are using a case-sensitive file system like HFS+ or ext4, you
      # have to change the <FilesMatch> directive as follows:
      #
      # <FilesMatch "\.(?i:js|css|xml|gz|svgz)$">
      #
      # For more information see: https://github.com/contao/core/issues/4364
      ##
      <FilesMatch "\.(js|css|xml|gz|svgz)$">
        Header append Vary Accept-Encoding
      </FilesMatch>
    
    </IfModule>
    
    ##
    # Disable MultiViews if you are having issues with requests returning the wrong
    # page. Requires AllowOverride Options=All,MultiViews to be set here.
    # @see https://github.com/contao/core/issues/3521
    ##
    #Options -MultiViews
    
    ##
    # URL rewriting
    ##
    <IfModule mod_rewrite.c>
      RewriteEngine On
    
      ##
      # Change the RewriteBase if your Contao installation is in a subdirectoy and
      # the rewrite rules are not working properly. Usage examples:
      #
      #   RewriteBase /contao-3.0.0
      #   RewriteBase /path/to/contao
      #
      # Depending on your server, you might have to remove the line entirely.
      ##
      RewriteBase /
    
      ##
      # Uncomment the following lines to add "www." to the domain:
      #
      RewriteCond %{HTTP_HOST} ^meinedomain\.de$ [NC]
      RewriteRule (.*) http://www.meinedomain.de/$1 [R=301,L]
      #
      # Uncomment the following lines to remove "www." from the domain:
      #
      #   RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
      #   RewriteRule (.*) http://example.com/$1 [R=301,L]
      #
      # Make sure to replace "example.com" with your domain name.
      ##
    
      ##
      # If you cannot use mod_deflate, uncomment the following lines to load a
      # compressed .gz version of the aggregated Contao JavaScript and CSS files.
      ##
      AddEncoding gzip .gz
      <FilesMatch "\.js\.gz$">
        AddType "application/javascript" .gz
      </FilesMatch>
      <FilesMatch "\.css\.gz$">
        AddType "text/css" .gz
      </FilesMatch>
      RewriteCond %{HTTP:Accept-encoding} gzip
      RewriteCond %{REQUEST_FILENAME} \.(js|css)$
      RewriteCond %{REQUEST_FILENAME}.gz -f
      RewriteRule ^(.*)$ $1.gz [QSA,L]
    
      ##
      # By default, Contao adds ".html" to the generated URLs to simulate static
      # HTML documents. If you change the URL suffix in the back end settings, make
      # sure to change it here accordingly!
      #
      #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
      #   RewriteRule .*\.json$ index.php [L]   # URL suffix .json
      #
      # If you do not want to use an URL suffix at all, you have to add a second
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #
      #   RewriteCond %{REQUEST_FILENAME} !-d
      #   RewriteRule .* index.php [L]
      #
      # If you are using mod_cache, it is recommended to use the RewriteRule below,
      # which adds the query string to the internal URL:
      #
      #   RewriteRule (.*\.html)$ index.php/$1 [L]
      #
      # Note that not all environments support mod_rewrite and mod_cache.
      ##
      RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|woff|svg|svgz|ttf|pdf|gz)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule .*\.html$ index.php [L]
    
      ##
      # The following rules are required if you want to pass the language as first
      # URL parameter (added in Contao 2.11). The first rule rewrites the empty URL
      # to the front end controller, the second one adds a missing trailing slash.
      ##
      RewriteRule ^[a-z]{2}(\-[A-Z]{2})?/$ index.php [L]
      RewriteRule ^([a-z]{2}(\-[A-Z]{2})?)$ $1/ [R=301,L]
    
    </IfModule>
    php.ini
    Code:
    zlib.output_compression = On
    zlib.output_compression_level = 9
    So, mit der "neuen" .htaccess getestet. Das ist die .htaccess.default aus Contao 3.5.0, lediglich der Abschnitt hier ist von den Kommentarzeichen befreit ...
    Code:
      ##
      # If you cannot use mod_deflate, uncomment the following lines to load a
      # compressed .gz version of the aggregated Contao JavaScript and CSS files.
      ##
      AddEncoding gzip .gz
      <FilesMatch "\.js\.gz$">
        AddType "application/javascript" .gz
      </FilesMatch>
      <FilesMatch "\.css\.gz$">
        AddType "text/css" .gz
      </FilesMatch>
      RewriteCond %{HTTP:Accept-encoding} gzip
      RewriteCond %{REQUEST_FILENAME} \.(js|css)$
      RewriteCond %{REQUEST_FILENAME}.gz -f
      RewriteRule ^(.*)$ $1.gz [QSA,L]
    Geändert von tab (11.06.2015 um 11:21 Uhr)

  7. #7
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    php.ini
    Code:
    zlib.output_compression = On
    zlib.output_compression_level = 9
    die php.ini hast du im root? andere haben geschrieben im system usw.. mir is schon ganz schwummrig vor lauter lesen ^^

  8. #8
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Im Root bzw Installationsverzeichnis, also da, wo eben die index.php ist.

  9. #9
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    ich danke dir auf jedenfall. Noch tritt hier keine verbesserung ein.

    aber
    Code:
    Vary: User-Agent,Accept-Encoding
    Content-Encoding: gzip
    wird mir auch angezeigt
    Geändert von ways2web (11.06.2015 um 21:52 Uhr)

  10. #10
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hast du denn in assets/css bzw js/css auch gezipte Dateien (zusätzlich) liegen? Unter System->Einstellungen->Globale Einstellungen das Komprimieren von Skripten aktiviert? Skriptcache mal gelöscht? Der Header zeigt jedenfalls schon mal, dass die (Edit) .htaccess wohl funktioniert.

  11. #11
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Hast du denn in assets/css bzw js/css auch gezipte Dateien (zusätzlich) liegen?
    Unter System->Einstellungen->Globale Einstellungen das Komprimieren von Skripten aktiviert?
    Skriptcache mal gelöscht? Der Header zeigt jedenfalls schon mal, dass die (Edit) .htaccess wohl funktioniert.
    • also *.gz files im assets/css und assets/js
    • komprimierung ist aktiviert in den Einstellungen
    • skriptcache gelöscht


    ich warte einfach mal nen moment

  12. #12
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Naja, einfach nur um sicherzugehen, dass auch aktuelle Dateien erzeugt, gezipt und ausgeliefert werden. Falls die Dateien, die im Seitenquelltext drinstehen als CSS bzw JS, als .gz Version vorhanden sind, ist der Rest eigentlich eine Sache der .htaccess. Wenn der entsprechende Abschnitt aktiviert ist, dann sorgt der dafür, dass diese gezipte Version - sofern vorhanden - ausgeliefert wird, wenn die .css bzw .js abgerufen wird.

  13. #13
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Naja, einfach nur um sicherzugehen, dass auch aktuelle Dateien erzeugt, gezipt und ausgeliefert werden. Falls die Dateien, die im Seitenquelltext drinstehen als CSS bzw JS, als .gz Version vorhanden sind, ist der Rest eigentlich eine Sache der .htaccess. Wenn der entsprechende Abschnitt aktiviert ist, dann sorgt der dafür, dass diese gezipte Version - sofern vorhanden - ausgeliefert wird, wenn die .css bzw .js abgerufen wird.
    die Dateien liegen auch gz vor ja. Die htaccess hab ich von dir hier aus dem neuen thread. nur die url angepasst.
    das gemeckert mit dem "Komprimierung aktivieren" hast du so nicht mehr?

    wer weiß, was dir für ein mickriges shared paket haben ^^

  14. #14
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, das Gemecker ist bei mir weg, auf mehreren 1&1 Webspaces, teilweise auch alte Pakete.
    So sieht das da aus bei Google Pagespeed:

    Code:
    ...
    CSS reduzieren
    Ihre CSS-Ressource wurde reduziert. Weitere Informationen zum Reduzieren von CSS-Ressourcen
    HTML reduzieren
    Ihre HTML-Ressource wurde reduziert. Weitere Informationen zum Reduzieren von HTML-Ressourcen
    JavaScript reduzieren
    Ihre JavaScript-Ressource wurde reduziert. Weitere Informationen zum Reduzieren von JavaScript-Ressourcen
    Komprimierung aktivieren
    Die Komprimierung ist aktiviert. Weitere Informationen zum Aktivieren der Komprimierung
    ...

  15. #15
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    mir knallt er weiterhin dinge vor wie :

    Komprimierung aktivieren Durch die Komprimierung der Ressourcen mit "gzip" oder "deflate" kann die Anzahl der über das Netzwerk gesendeten Bytes reduziert werden.

    Browser-Caching nutzen Das Festlegen eines Ablaufdatums oder eines Höchstalters in den HTTP-Headern für statische Ressourcen weist den Browser an, zuvor heruntergeladene Ressourcen über die lokale Festplatte anstatt über das Netzwerk zu laden.
    usw..

    css und js kann ich wegen den copyrights nicht perfekt verkleinern...... aber doch zu großen teilen.. dass er nur noch wegen paar bytes oder 1% meckert.. aber da bin ich noch nicht

    die gleiche Seite auf meinem server schneidet sehr gut ab... aber auf dem 1&1 Server... olala
    Geändert von ways2web (11.06.2015 um 22:30 Uhr)

  16. #16
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, die sind eher gemütlich unterwegs die Server der Hostingpakete bei 1&1. Und ohne Komprimierung gibts dann auch nochmal zusätzlich Abzug bei Pagespeed.

    Edit: Immerhin werden meine 1&1 Seiten immer noch deutlich besser bewertet als google.de oder google.com . Aber die sind ja auch nicht auf eine gute Bewertung angewiesen.

  17. #17
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    ok, trotz der Maßnahmen hat es nichts gebracht. Ich danke Dir dennoch für deine intensive Hilfe!

  18. #18
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Soeben bin ich in einer anderen Installation bei 1&1 auf etwas gestoßen, was eventuell dein Problem erklären könnte. Und zwar hatte ich jQuery im Seitenlayout aktiviert und j_mediaelement ausgewählt, weil ich auf einer Seite ein Youtube Video angezeigt hatte. Trotz all meiner Einstellungen zeigte mir Google Pagespeed dann trotzdem das "Komprimierung aktivieren". Zuerst habe ich alles mögliche ausprobiert, Cache löschen, Systemwartung usw. Nichts half. Dann habe ich doch mal nachgelesen, welche Dateien denn eigentlich nicht komprimiert sein sollten. Und es war nur die entsprechende .js Datei von jQuery / Mediaelement. Diese Datei wird nicht von Contao erzeugt und natürlich auch nicht gezipt! Wenn mod_deflate funktioniert, macht das ja auch nichts aus. Aber wenn gzip verwendet wird, dann muss in dem entsprechenden Verzeichnis eben auch eine entsprechende .js.gz-Datei vorliegen, dann wird diese auch ausgeliefert! Ich habe die angemeckerte Datei also einfach mit gzip komprimiert und schon war Google Pagespeed wieder friedlich.

  19. #19
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Code:
      RewriteCond %{HTTP:Accept-encoding} gzip
      RewriteCond %{REQUEST_FILENAME} \.(js|css)$
      RewriteCond %{REQUEST_FILENAME}.gz -f
      RewriteRule ^(.*)$ $1.gz [QSA,L]
    interessanterweise hat die Option dazu geführt, dass der Internet Explorer (in jeder Version), wohl kein css mehr finden konnte. Die Seite wurde sozusagen ohne Layout ausgeliefert.
    nach dem auskommentieren, wird die Seite wieder normal gerendert

  20. #20
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Komisch, die ganz neuen Versionen habe ich jetzt hier nicht zur Verfügung, aber der IE 11 hat jedenfalls kein Problem damit und auch der IE 9 auf meinem alten Vista-Notebook hat kein Problem damit.

    Edit: Nee, halt, möglich wäre es immerhin, dass manche oder alle IEs das gar nicht können. Insofern müsste man dann dafür sorgen, dass die unkomprimierten Dateien ebenfalls zur Verfügung stehen, also nicht nur die .js.gz und .css.gz. Die erste RewriteCond sorgt dafür, dass nichts umgeschrieben wird, wenn der Browser gzip nicht versteht. Ist das der Fall, wird also die RewriteRule nicht ausgeführt und somit lädt der Browser die .css bzw .gz. Wenn die dann allerdings nicht existieren, gibts ein Problem. Contao macht das ja mit den Dateien in assets/css und assets/js auch so, da ist beides vorhanden. Dann bekommt derjenige, der einen Browser benutzt, die komprimierten Daten. Und wer einen IE nutzt dann eben die unkomprimierten. Kann man die Dinger nicht verbieten?
    Geändert von tab (18.06.2015 um 13:16 Uhr)

  21. #21
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    ich habs mit dem 11er probiert.. und dann die emu... ich habs vorerst einfach mal deaktiviert. Sollen die einfach den Provider wechseln.
    Nach so viel hilfestellung von extern, müssen die sich damit abfinden, dass es ist wie es ist

  22. #22
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Siehe mein Edit oben, es sollten beide Versionen da sein, also gezipt und Original.

  23. #23
    Administrator Avatar von Nina
    Registriert seit
    04.06.2009.
    Ort
    Hamburg
    Beiträge
    4.755
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich steh vor der selben Problematik bei 1&1.

    Was ich gemacht habe:
    • die php.ini in das Root-Verzeichnis gelegt
    • Den Deflate-Block in der htaccess aktiv geschaltet
    • In den Einstellungen die Kompression aktiviert
    • manuell gzip-Versionen der durch Extensions etc. eingebundenen JS/CSS-Dateien in assets/css und assets/js angelegt
    • den Cache etc geleert


    Dennoch klappt es immer noch nicht.

    Was mir aber auffällt: Wenn ich nach einer Weile wieder in den assets-Ordner schaue, sind dort die von mir manuell hinterlegten gzip-Dateien nicht mehr. Kann es sein, dass Contao die von sich aus leert, z.B. wenn man im Backend mal die Daten bereinigt? Ich hätte vermutet, dass Contao da nur die Dateien entfernt, die von Contao in die assets-Ordner gepackt wurden, aber scheinbar leert es auch die von mir hinterlegten Dateien ...

    Allerdings klappt es scheinbar auch dann nicht, wenn ich die Dateien reinlege und eben nicht im Backend "Daten bereinige", also wenn sie drin bleiben. Es ist so, als würde der Server einfach alles ignorieren, was ich da mache.

  24. #24
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Legen die Erweiterungen ihr CSS und JS nicht in eigenen Unterordnern ab? Dann müsste die gzip-Datei natürlich auch dort liegen. Die Dateien in assets/css und assets/js werden bei mir wöchentlich durch den Cronjob geleert. Edit: Natürlich werden sie auch durch die Systemwartung geleert (Script Cache).
    Geändert von tab (31.07.2015 um 13:19 Uhr)

  25. #25
    Administrator Avatar von Nina
    Registriert seit
    04.06.2009.
    Ort
    Hamburg
    Beiträge
    4.755
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ah, vielen Dank für die Lösung. Ich war irgendwie so auf den assets-Ordner fixiert, dass ich gar nicht daran dachte, dass die gzip-Dateien natürlich jeweils an der Stelle liegen müssen, wo die Originaldaten sind. Jetzt scheint es zu klappen!

    Einziger Nachteil der gesamten 'Lösung' bei 1&1:
    Man muss da halt echt daran denken, insbesondere wenn mal Updates anstehen, damit man die gzip-Dateien jedes Mal aktualisiert. Ich hasse solche Sachen, weil man es so leicht übersieht

  26. #26
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Naja, eigentlich ist es ja schon ein Armutszeugnis von 1&1. MOD_DEFLATE nur auf Performance-Servern, die dann natürlich entsprechend teurer sind. Das sollte doch eigentlich mittlerweile Standard sein. Die ganzen Klimmzüge, die man machen muss, um komprimierte Daten auszuliefern, sind eine Zumutung. Zudem, wie du ja schon geschrieben hast, muss man bei jedem Update wieder dran denken. Automatisch geht es halt nur bei den von Contao selbst zusammengefassten CSS und JS Dateien. Auch die zlib-Komprimierung, die ja wohl im Wesentlichen sich nur für den HTML Quelltext für zuständig erklärt, ist möglicherweise nur für eins gut: Google zufrieden zu stellen. Ich habe schon von Fällen gehört, wo die Aktivierung der zlib-Komprimierung die Ladezeit eher vergrößert.

    Wenn sich da dieses Jahr nicht endlich was tut bei 1&1, muss ich mich wohl für Contao-Installationen um eine Alternative kümmern. Andere Hoster können das offenbar besser für den selben Preis. Und langsam sind die Shared-Hosting Server noch obendrein.

  27. #27
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.110
    Partner-ID
    10107

    Standard

    Was mir heute noch aufgefallen ist: auf Servern wo mod_deflate, mod_filter und mod_mime verfügbar sind, meldet Google PageSpeed Insights manchmal trotzdem immer noch, dass man die Kompression für die .js und .css Dateien aktivieren soll (obwohl laut Response Header im Browser gzip aktiv ist für diese Ressourcen). Fügt man (innerhalb von <IfModule mod_deflate.c>…</IfModule>) noch folgendes hinzu, dann
    Code:
      <filesMatch "\.(js|css|html)$">
        SetOutputFilter DEFLATE
      </filesMatch>
    meckert auch PageSpeed Insights nicht mehr. Wobei ich mir bisher noch nicht erklären konnte warum.

  28. #28
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das sind auch 1&1 Server? Da habe ich auch schon gelegentlich gehört, dass trotz verfügbarem mod_deflate es immer noch Probleme gibt. Momentan habe ich bei meinen Kunden mit 1&1 shared hosting die Sache mit der Komprimierung noch im Griff. Aber schön ist der ganze Zusatzaufwand nicht.

    Ok, manchmal hat man auch einfach nur ein Brett vor dem Kopf . Einmal habe ich zwei Stunden gesucht und geflucht, weil Pagespeed trotz aller Maßnahmen immer noch gemeckert hat wegen Komprimierung. Dabei war die eigentlich an, aber ich hatte dem Kunden die Homepage von Frontpage auf Contao umgestellt und die Inhalte im Wesentlichen 1:1 von der alten Installation übernommen. Die lief immer noch auf der Hauptdomain, Contao auf einer Subdomain. Erst ganz am Ende habe ich mir bei der "Komprimierung aktivieren" Meldung dann mal wieder die Details angeschaut. Und siehe da, es wurde gar nicht mehr alles angemeckert wie am Anfang, sondern nur ein paar Bilder. Bei denen hatte ich vergessen, die Links zu ändern. Die gingen immer noch auf die Hauptdomain, welche die Bilder brav - aber unkomprimiert - ausgeliefert hat. . Links geändert und alles war gut .

  29. #29
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.110
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Das sind auch 1&1 Server? Da habe ich auch schon gelegentlich gehört, dass trotz verfügbarem mod_deflate es immer noch Probleme gibt. Momentan habe ich bei meinen Kunden mit 1&1 shared hosting die Sache mit der Komprimierung noch im Griff. Aber schön ist der ganze Zusatzaufwand nicht.
    In dem speziellen Fall World4You.

    Aber mod_deflate alleine reicht ja mit der default .htaccess von Contao nicht, du brauchst auch mod_filter (und eben wahrscheinlich mod_mime). Und mod_filter ist bspw. bei den Webhosting Paketen von Hetzner nicht verfügbar. Das einzige was man dort machen kann ist:
    Code:
    <IfModule mod_deflate.c>
      <filesMatch "\.(js|css|html)$">
        SetOutputFilter DEFLATE
      </filesMatch>
    </IfModule>

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •