Antworten auf deine Fragen:
Neues Thema erstellen

Benötige Hilfe bei .htaccess und CSS-Sprite

Tease

wissensdurstig

Hallo werte Gemeinde,

ich steh gerade vor einem Problem, bei dem ich wohl auf externe Hilfe angewiesen bin und hoffe, dass ich hier im Forum wie immer gute Tipps erhalte.

Und zwar bin ich gerade am Fertigstellen eines Projekts und versuche nun etwas an der Geschwindigkeit zu tunen.
Habe deswegen meine Seite von GTMetrix (http://gtmetrix.com/) analysieren lassen und daraufhin bekam ich folgendes Resultat:
(Auszug)
Recommendation Grade
Type Priority Combine images using CSS sprites F (0)
59%
Images Medium Leverage browser caching F (0)
54%
Server High Specify image dimensions F (44)
50%
Images High Inline small CSS E (50)
93%
CSS High

Alles andere war zwichen 95-100% also, nicht optimierungsbedürftig. Also, nun stehe ich vor dem Problem, vor allem 2 Dinge zu verbessern:
1. Browser Caching beim User einzuschalten, und
2. Meine Seite mithilfe von CSS-Sprites zu entschlanken.

Nun habe ich mich in die Materie eingelesen und habe bereits die -htaccess Datei bearbeitet, aber heraus kam nicht das gewünschte Resultat. Zwar habe ich meinen Score von 0 auf 7% verbessert, aber immernoch meldet GTMetrix zig Files an, die noch in die Datei aufgenommen werden sollten:
The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources:

  • (expiration not specified)
  • (expiration not specified)
Hier ist der Auszug meiner .htacceess Datei:
Code:
<IfModule mod_headers.c>
<FilesMatch “\.(js|css)$”>
Header set Cache-Control “max-age=86400, public”
</FilesMatch>
<FilesMatch “\.(gif|png|jpg|jpeg|pdf|ico)$”>
Header set Cache-Control “max-age=604800, public”
</FilesMatch>
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css M5259487
ExpiresByType text/javascript M5259487
ExpiresByType application/x-javascript M5259487
ExpiresByType image/jpeg M5259487
ExpiresByType image/png M5259487
ExpiresByType image/gif M5259487
ExpiresDefault "access plus 1 month 1 days"
ExpiresByType text/html "access plus 1 month 1 days"
ExpiresByType image/gif "access plus 1 month 1 days"
ExpiresByType image/jpeg "access plus 1 month 1 days"
ExpiresByType image/png "access plus 1 month 1 days"
ExpiresByType text/css "access plus 1 month 1 days"
ExpiresByType text/javascript "access plus 1 month 1 week"
ExpiresByType application/x-javascript "access plus 1 month 1 days"
ExpiresByType text/xml "access plus 1 seconds"
</IfModule>
Weiß jemand, was ich falsch gemacht habe?

2. Ich habe erstmal eine grundsätzliche Frage zu dem Thema CSS-Sprite. Es gibt ja im Netz kostenlose Tools die einem eine "gespritete" Bild-Datei erstellen und den neuen CSS-Code generieren.
Wenn mein altes, also einzelnes Bild bereits Attribute wie background-position, padding, margin etc besitzt, muss ich dann die neuen background-position Werte dazurechnen bzw. abziehen? Muss ich die Padding, - und Margin-Werte drinlassen oder wegmachen?
Ich hab mal eine Seite testweise bearbeitet und da hat es mir natüürlich gleich vollkommen das Design zerschossen. Hab's wieder rückgängig gemacht, kann also nicht mit Code dienen. Muss mich da wohl erst noch etwas Schlau machen.
Also, nun meine eigentlich Frage: Gibt es eine Best-practice Methode wie man den neuen CSS Code möglichst fehlerfrei umsetzt ohne alte Einstellungen zu überschreiben?
Wie macht ihr sowas?

Vielen Dank schon mal im Voraus für eure Hilfe und für's Zeitnehmen!
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Benötige Hilfe bei .htaccess und CSS-Sprite

Ich bekomme bei deinen URLs keinen "Cache-Control"-Header geliefert. Weder im Firebug noch auf dieser Seite. Bist du sicher, dass
  • die .htaccess-Datei aktiviert ist (die Apache-Direktive AllowOverride sollte auf all sein) und
  • sie nicht von einer anderen .htaccess überschrieben wird (in einem tieferen Verzeichnis) und
  • die Module mod_expires und mod_headers aktiviert sind?

Das mit den Sprites schaue ich mir später vielleicht mal an, aber das gehört eher in das Unterforum HTML und CSS.


Duddle
 

Tease

wissensdurstig

AW: Benötige Hilfe bei .htaccess und CSS-Sprite

Hallo Duddle,

schon mal vielen Dank für deine Antwort. Ich hätte vielleicht dazu sagen sollen, dass ich die URLs abgeändert habe, damit die eben nicht auf die Seite linken. Die Website ist noch nicht fertiggestellt und ich weiß nicht, ob die Besitzer der Seite das wollen würden, wenn man da jetzt schon drauf schaut.
Ich habe mal die korrekte URL in deinem erwähnten Analyzer gejagt und da kam folgendes raus:

ALL HTTP headers:
* Pragma = no-cache
* Vary = Accept-Encoding
* Keep-Alive = timeout=15, max=100
* Connection = Keep-Alive
* Transfer-Encoding = chunked
* Cache-Control = no-store, no-cache, must-revalidate, post-check=0, pre-check=0
* Content-Type = text/html; charset=UTF-8
* Date = Tue, 06 Nov 2012 19:25:41 GMT
* Expires = Thu, 19 Nov 1981 08:52:00 GMT
* Set-Cookie = frontend=adbm9g45fet4r1r81i12ckepd3; expires=Tue, 06-Nov-2012 20:25:41 GMT; path=/; domain=www.schenkeria.de; HttpOnly
* Server = Apache

Tja, werd da nicht so recht schlau draus, aber ich glaub, dass es eher nicht funktioniert hat, oder?

Wo kann man denn nachsehen, ob AllowOverride, mod_expires und mod_headers aktiviert sind? Bei mir in meinem Webaccount Backend (PLESK) finde ich davon nichts.

Vielen lieben Dank!
 

Duddle

Posting-Frequenz: 14µHz

AW: Benötige Hilfe bei .htaccess und CSS-Sprite

Okay, die zwei wichtigen Zeilen bei dir sind
* Cache-Control = no-store, no-cache, must-revalidate, post-check=0, pre-check=0
* Expires = Thu, 19 Nov 1981 08:52:00 GMT
Übersetzt heißen die ja nichts anderes als: die angeforderte Ressource ist vor 20 Jahren "abgelaufen" und sollte neu angefordert werden, und der Browser muss allgemein diese Ressource nicht cachen (no-cache). Schon der erste Punkt sieht nach einer Fehl-Einstellung aus.

Ich habe selbst keine Erfahrungen mit den genannten Modulen, deshalb sehe ich momentan nicht direkt den Fehler. An deiner Stelle würde ich wohl erstmal die .htaccess so klein wie möglich machen und nur mit z.B. Bildern experimentieren. Nach jeder Änderung schaust du dir die Header an und passt gegebenenfalls an.

Ob die genannten Direktiven / Module aktiviert sind ist eine Servereinstellung. Wie man das im Plesk aufruft weiß ich auch nicht - ich bevorzuge den direkten Blick in die Serverkonfiguration. Du könntest probehalber mal die .htaccess leeren und wieder die Header analysieren: falls sie sich die Bereiche Cache-Control und Expires ändern, dann sind die Module und die Direktive aktiviert. Falls sich nichts ändert dann hat deine .htaccess generell keine Auswirkungen und du müsstest mit dem Provider reden / die FAQs lesen.


Duddle
 

Tease

wissensdurstig

AW: Benötige Hilfe bei .htaccess und CSS-Sprite

Hey Duddle,

vielen Dank für deine Hilfe.
Ich habe deinen Rat befolgt und die .htaccess Datei leer gemacht und festgestellt, dass es keine Auswirkungen hat. Demzufolge, war sie also gar nicht aktiv. Hab nun bei meinem Provider nachgehackt und die haben mir es auch gleich freigeschalten. Und nun klappts auch mit'm Browser Cache! Also vielen Dank!

Jetzt muss ichnur noch das Problem mit den Sprites lösen, aber vielleicht mach ich da einen neuen Thread auf.

Dank' Dir!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.635
Beiträge
1.538.477
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben