Hallo zusammen,
wie die Frage im Titel andeutet, bekomme ich den Content bei aktiviertem HttpCache nicht komplett komprimiert (gzip) ausgeliefert.
.css (Request URL: http://www.subdomain.domain/web/cache/xxx.css) und .js (Request URL: http://www.subdomain.domain/web/cache/xxx.js) werden zwar nach wie vor „gezipped“
aber die eigentlich aufgerufene Seite (Request URL: http://www.subdomain.domain/) leider nicht. Stelle ich den HttpCache nun aber aus, so werden alle Teile „gezipped“.
aktivierter HttpCache
nicht aktivierter HttpCache
hier meine Cache Einstellungen aus dem Backend (Frontend cache (HTTP cache):
Admin-View: Nein
Cache-Controller / Zeiten:
frontend/listing 3600
frontend/index 3600
frontend/detail 3600
frontend/campaign 14400
widgets/listing 14400
frontend/custom 14400
frontend/sitemap 14400
frontend/blog 14400
widgets/index 3600
widgets/checkout 3600
widgets/compare 3600
widgets/emotion 14400
widgets/recommendation 14400
widgets/lastArticles 3600
widgets/campaign 3600
frontend/listing/layout 3600
NoCache-Controller / Tags:
widgets/lastArticles detail
widgets/checkout checkout,slt
widgets/compare compare
.htaccess:
RewriteEngine on
RewriteBase /
# Https config for the backend
#RewriteCond %{HTTPS} !=on
#RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]
RewriteCond %{REQUEST_URI} !(\/(engine|files|templates|themes|web)\/)
RewriteCond %{REQUEST_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ shopware.php [PT,L,QSA]
# Fix missing authorization-header on fast_cgi installations
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
# Restrict access to VCS directories
RedirectMatch 404 /\\.(svn|git|hg|bzr|cvs)(/|$)
# Restrict access to root folder files
RedirectMatch 404 /(autoload\.php|composer\.(json|lock|phar)|README\.md|UPGRADE-(.*)\.md|CONTRIBUTING\.md|eula.*\.txt|\.gitignore|.*\.dist)$
# Restrict access to shop configs files
RedirectMatch 404 /(web\/cache\/(config_\d+\.json|all.less))$
# Restrict access to theme configurations
RedirectMatch 404 /themes/(.*)(.*\.lock|package\.json|\.gitignore|Gruntfile\.js|all\.less|node_modules\/.*)$
# Staging environment
#SetEnvIf Host "staging.test.shopware.in" SHOPWARE_ENV=staging
# Development environment
#SetEnvIf Host "dev.shopware.in" SHOPWARE_ENV=dev
#SetEnv SHOPWARE_ENV dev
DirectoryIndex index.html
DirectoryIndex index.php
DirectoryIndex shopware.php
# Disables download of configuration
# Deny all requests from Apache 2.4+.
Require all denied
# Deny all requests from Apache 2.0-2.2.
Deny from all
ExpiresActive on
ExpiresDefault "access plus 1 month"
Header append Cache-Control "public"
Header unset ETag
FileETag None
# Match generated files like:
# 1429684458_t22_s1.css
# 1429684458_t22_s1.js
Header set Cache-Control "max-age=31536000, public"
ExpiresActive on
ExpiresDefault "access plus 1 year"
# Disables auto directory index
Options -Indexes
Options -MultiViews
Header append X-Frame-Options SAMEORIGIN
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
und dann noch meine php.ini:
zend_extension =/.../htdocs/ioncube/ioncube_loader_lin_7.0.so
max_execution_time=300
memory_limit=256M
upload_max_filesize=40M
expose_php = Off
zend_extension=opcache.so;
opcache.enable=1;
opcache.memory_consumption=32;
opcache.interned_strings_buffer=8;
opcache.max_accelerated_files=6000;
opcache.revalidate_freq=180;
opcache.fast_shutdown=0;
opcache.enable_cli=0;
opcache.revalidate_path=0;
opcache.validate_timestamps=2;
opcache.max_file_size=0;
opcache.file_cache= /.../htdocs/.opcache;
opcache.file_cache_only=1;
zlib.output_compression =1
zlib.output_compression_level =-1
Ach… Ja, die Seite liegt auf nem 1und1 Server (Unlimited Plus 4GB) und ich habe sie auf ner Subdomain laufen (htdocs/subdomain/). Die oben erwähnte php.ini hat Symlinks in den Unterordnern von „subdomain“. Die Shopware Version ist 5.3.7 und die verwendete PHP-Version ist 7.0. Ioncube und OPCache sind, wie man ja erkennnen kann, auch eingerichtet. Das selbe Phänomen gibts aber auch mit einer frisch installierten 5.4.1 Version unter PHP 5.6, 7.0 und 7.1 .
Ich hoffe, dass ich genug Infos angegeben habe damit ihr vielleicht einen Fehler ausfindig machen könnt. Mit Shopware bin ich leider noch nicht so geübt, da ich mich bisher nur mit Magento beschäftigt habe, aber da ich unseren bestehenden Shop eh migrieren muss, lag es ja nahe sich auch mal dieses System anzugucken. Vielleicht habt ihr ja eine Idee wie ich unsere Shopware-Testinstallation mit aktiviertem HttpCache UND gzip ans Laufen bekomme. Vielleicht bin ich auch einfach nur komplett auf dem Holzpfad und ihr könnt mir den Weg zeigen. Vielen Dank im Voraus.