Seite 1 von 1

compression / gzip via htaccess

Verfasst: 08.11.2010, 12:05
von kittyBerlin
Hallo,
ich weiß nicht ob dieser Bereich der richtige ist, daher bitte gegebenenfalls verschieben. Vielen Dank.

Folgender Sachverhalt:
Ich habe Pagespeed auf Anraten von Google :wink: installiert und getestet. Soweit alles ganz okay, aber der Punkt "enable compression" könnte eventuell noch Pluspunkte bringen.
Also hab ich mich informiert und die 3 Optionen - 1 per htaccess, 2 per befehl in jeder php-datei, 3 per vorkomprimierung - gefunden.
Da wir ein kleines Projekt sind und vorwiegend mit html-Seiten arbeiten habe ich mich für die htaccess Methode entschieden und haben diesen Abschnitt an den Anfang der htaccess Datei gesetzt:

<IfModule mod_deflate.c>
<FilesMatch "\\.(js|css|x?html?|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
</ifModule>

Online habe ich geschaut und folgende Zeile in der phpinfo gefunden:
HTTP_ACCEPT_ENCODING gzip,deflate

Htaccess ist seit einigen Tagen auf dem Server, aber wenn ich Pagespeed laufen lassen, sagt er mir immer noch "enable compression" für alle Dateien.

Hat jemand eine Idee woran das liegt?

Danke im Voraus
K.

Verfasst:
von

Verfasst: 08.11.2010, 12:12
von Synonym
Ist das Modul "mod_deflate" denn überhaupt aktiviert?

Verfasst: 08.11.2010, 14:39
von kittyBerlin
Hmm, okay, da offenbart sich wieder der newbie in mir - ich dachte, die zeile "HTTP_ACCEPT_ENCODING gzip,deflate " bedeutet, dass es aktiviert ist ?!?
Wie kriege ich das ansonsten raus? Hoster fragen?
Danke!

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 08.11.2010, 15:02
von Synonym
Das bedeutet nur, dass die Kompression vom Grund her akzeptiert wird, aber nicht, dass die auch aktiv ist. Zudem sind das die Daten, die Dein Browser sendet, nicht die, mit denen Dein Server antwortet.

Schau mal in der phpinfo etwas oberhalb dieser Zeile. Da müssten die ganzen Module stehen, die geladen wurden (Loaded Modules). Wenn da kein mod_deflate vorkommt, dann ist es auf dem Server nicht aktiv.

Weiter unten im Bereich "HTTP Headers Information -> HTTP Response Headers" steht dann auch was der Server ausliefert. Wenn er komprimiert, dann steht da was ala:
Vary Accept-Encoding
Content-Encoding gzip

Verfasst: 08.11.2010, 15:20
von kittyBerlin
okay, hab geschaut. Ist anscheinend nicht geladen :(

Loaded Modules mod_rpaf, mod_frontpage, mod_ssl, mod_include, mod_cgi, mod_php5, mod_setenvif, mod_unique_id, mod_expires, mod_auth, mod_access, mod_rewrite, mod_alias, mod_dir, mod_autoindex, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_config, mod_speling, mod_macro, mod_so, http_core

Und bei response headers steht
X-Powered-By PHP/5.2.13
Keep-Alive timeout=15, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html

Also, nix deflating. :-?
Hmm, kann ich das modul selbst zb über htaccess laden oder muss das der Hoster machen?

Danke!

Nachtrag: Also, eine kurze Google-Befragung brachte keinen Erfolg hinsichtlich meiner Frage ob ich es selbst aktiviern könne. Muss wohl direkt in den Servereinstellungen in der .ini erfolgen, oder? Wäre über eine gegenteilige Antwort sehr dankbar :wink:

Verfasst: 08.11.2010, 15:24
von Synonym
Das kann nur auf dem Server direkt geladen werden mit

a2enmod deflate

Also, wenn Du keinen Server-Zugang hast (SSH), dann nur der Hoster.

Wobei.... aber da rate ich jetzt nun auch... mod_so ist geladen. Eventuell kannst Du deflate also nachladen....

versuche mal das hier:

LoadModule deflate_module modules/mod_deflate.so

Aber ohne Gewähr!

P.S. Ist das ein Windows Server?

Verfasst: 08.11.2010, 15:33
von kittyBerlin
Okay, danke.
Hab grad mal geschaut. SSH-Zugang haben wir anscheinend nicht. Wär ja auch zu schön gewesen um wahr zu sein. :roll:
Naja, mal sehen was der Hoster sagt. Ansonsten gibts mittlerweile genug Gründe mal das WebPaket hochzuschrauben.

Danke für die Hilfe!!

Nachtrag: Windows-Server - leider auch keine Ahnung. Hab auf der Hosterseite geschaut, aber auf die schnelle nichts gefunden.
Die Zeile kommt in die htaccess rein? Dann würde ich das gleich mal testen!

Verfasst: 08.11.2010, 15:37
von Synonym
Testen brauchst Du das nicht. "LoadModule" steht in der .htaccess nicht zur Verfügung. Bringt also nur einen Fehler. Ich kam nur drauf, weil mod_so eben für das dynamische Nachladen von Modulen gedacht ist, aber eben eigentlich auch für Windows-Systeme....
Source File: mod_so.c
Compatibility: This is a Base module (always included) on Windows
Bringt bei Dir jedenfalls nichts, schade.
It is not allowed in .htaccess files at all.

Verfasst: 08.11.2010, 15:47
von kittyBerlin
Also, habs ausprobiert. Klappt leider nicht (Nachtrag: steht ja auch so oben - war mit dem Testen nur etwas schneller ;) ). Gibt nen Internal Server Error aus.
Okay. Dann frag ich mal den Hoster.
Dürfte ja kein Problem sein. Hoffe ich ;)

In jedem Fall vielen Dank, dass Du Dich dem Problem angenommen hast :D

Verfasst: 09.11.2010, 04:02
von nerd
versuch mal das hier:

Code: Alles auswählen

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0&#91;678&#93; no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

Verfasst: 09.11.2010, 08:36
von Synonym
@nerd
mod_deflate ist bei ihm doch gar nicht aktiviert