Mod_deflate aktivieren

Hallo

Ich versuche für unseren Shop mod_deflate zu aktivieren und habe die .htaccess folgend angepasst.

# In case you want to add a .htpasswd authentification
# you'll have to add the host of the shop as an allowed entity,
# so that calls from the host skip the authentification
# Example:
# Order Deny,Allow
# Deny from All
# AuthType Basic
# AuthName "Access not allowed"
# AuthUserFile path_to_htpasswd_file/.htpasswd
# Require valid-user
# Allow from localhost
# Satisfy Any


<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

RewriteCond %{REQUEST_URI} oxseo\.php$
RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/application\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !(\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js|\.htc)$ %{REQUEST_URI}/ [R=301,L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/application\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.html|\/)$ oxseo.php

# Weiterleitung von domain auf domain
RewriteCond %{HTTP_HOST} ^domain\.de$ [NC] 
RewriteRule ^(.*) http://domain/$1 [R=301,L]

RewriteCond %{REQUEST_URI} (\/out\/pictures\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.jpe?g|\.gif|\.png)$ core/utils/getimg.php

</IfModule>

# disabling log file access from outside
<FilesMatch "(EXCEPTION_LOG\.txt|\.log$|\.tpl$|pkg\.rev)">
order allow,deny
deny from all
</FilesMatch>

Options -Indexes
DirectoryIndex index.php index.html

# mod_deflate Komprimierung nach Datei-Type
<ifModule mod_deflate.c>
  <filesMatch "\.(js|css|html)$">
  SetOutputFilter DEFLATE
  </filesMatch>
</ifModule>

# Expire headers
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/gif "access plus 5 week"
  ExpiresByType image/png "access plus 5 week"
  ExpiresByType image/jpg "access plus 5 week"
  ExpiresByType image/jpeg "access plus 5 week"
  ExpiresByType image/x-icon "access plus 8 week"
</IfModule>

Leider wird nichts komprimiert. Das Apache-Modul ist jedoch aktiviert. Habe dies in einem anderen Ordner mit einer .htaccess getestet, in welcher nur die mod_deflate-Anweisung steht. Hat jemand eine Idee, an was das liegen könnte?

Grüsse
Roland

was sagt den die Seite hier, wenn Du dir url testest?

http://www.gidnetwork.com/tools/gzip-test.php

Die sagt wie Firebug, dass keine Komprimierung ausgeführt wird.

hm, also ich hab mal in meine, von meinem Demoshop geschaut und da schaut das so aus und steht ganz am Anfang der .htaccess


<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
</IfModule>

Leider auch nicht. Ich habe meinen Code auch schon an den Anfang der Datei gestellt. Auch so funktioniert es nicht.
Finde es einfach merkwürdig, dass wenn ich den Code in eine leere .htaccess in einem Unterverzeichnis stecke, die Komprimierung funktioniert. Mit den weiteren Einträgen in der htaccess, welche Oxid braucht, funktioniert es nicht mehr.

So zur Info… Ich habe gestern Abend nochmals versucht mod_deflate zu aktivieren. Leider weiterhin ohne Erfolg. Ich bin jedoch auf die Ursache gestossen. Auf unserem Server läuft php mit fastcgi. Dies hat wohl Probleme mit .php-Dokumenten. Wenn ich ein .html-File erstelle und dieses aufrufe, wird es korrekt komprimiert. Wenn ich dynamische .html-Files aufrufe, so wie sie von oxid erstellt werden, dann funktioniert es nicht.
Ich habe nun unseren Provider angeschrieben. Eventuell kennt dieser eine Lösung.