PHP Javascript und CSS mit gzip komprimieren

27o8

abgemeldet
2 Mai 2006
9.028
933
Ich habe schon viel darüber gelesen, aber irgendwie will es nicht klappen. Es geht um die gzip Komprimierung von .css und .js Dateien....

Google Pagespeed sagt mir ständig:
Compressing the following resources with gzip could reduce their transfer size by 94.2KiB (66% reduction).
Das wäre ja schon eine ganze Menge, weshalb ich das gerne machen würde. Habe im Netz folgendes Script gefunden, welches die Dateien komprimieren soll:

PHP:
<?php
$jsFiles = glob('*.js');
foreach($jsFiles as $jsFile){
 
$basename = basename($jsFile);
$gzname   = $basename.'.gz';
file_put_contents($gzname, gzencode( file_get_contents($basename),9));
}

?>
Das scheint auch zu klappen... habe dann in der .htaccess noch folgende Rules drin:

Code:
RewriteCond %{HTTP:Accept-Encoding} .*gzip.*
RewriteRule ^js/(.*)\.js$ js/$1.js.gz [L]
AddEncoding x-gzip gz
Aber sobald ich das drin habe funktionieren die JS Dteien nicht mehr. :roll: Wenn ich die Dateien manuell im Browser aufrufe sehen die so aus:

Code:
‹������½koÚJö3üŠ    WŠíòI·wU¨ƒJJÕ¬Òæª‰tæ¹’±Õ±½¶I 
ÿ}Ï™‡=&¡W«�Z?fÎkΜ9/sôŠ´Ûm2Œ——4Åçú‘z '�crüÏ|Nþµˆ(9év¯Wä2d9LW^”“Gós&$ž’Ï^žÏé#¹öf³ú<Ï“ÞÑÑ$^Æ�ßɽ?:q:#¯Žêu6%v¾J( ±¿¸§QÞdÏŸ�àùÀµQ@§,¢�å�ŸuB€SÄ�:”mÅQ{�ÕbË�>BUQC¸ûx‘Ñ{�Äjáõ3¾>�á‡Ìÿnµü9õ¿§OÖufÔ'8ÆËrÑÔ¶J‰ZS/Üæ²…P%Úž¨›2hëzýÁKIüáÁ-Ðý”z9…ßìFÀ�‰`Áç Ýp¬öÚ    cÿ{@ˆÆ–Iœ-å}ÕÂÉ~ãŸXµâe+^!Î�æxÿÊfsþp'xÆyß·èCÞ⊻·1Î]&4jåqî…W~‡!¢h¯H²_—p.WU¿/Ýã.ÜVüÆ…råÃêÓEäç,Žn©�ÆXµv¼ˆgs6׬¼bô¥&²|Ò¬�!9·áM²8\ä´aÌ?°ŒMXÈò•kÍYÐÈ‚ùBå“8X,�Óé×pÃAáà€<WHNÈËåë°læÓõç×zÇîg„p†nNgÎ|/l{!›E½{`ÒL§¾Û`Ñ4îÌØ´qzM²¤/®Vsƒd_1‹˜ÆQþ'Å�s*IÖÆü#ò¹k�¼é&K«÷£wÏBP€—2/€£#d§M]ë8YÐ!Èoïßœ}½Ý¤•À‘aÑ̵^Wq¹b?(9Þœóã0ê¿MùßæìÄó¿ÏÒü€t»¯áo‹8s”Ï“¹gljçãv¾}ãX}rtDÎG&¸°º�·oÈÇ�›;
†Tî(׌ú'£Z+•x~ü«ØÏJ/¡·7·œ«ÚÜ-�s_ʹÍÝ,gªvL_߱ׯßÂßÛ}v¬yǸKFÏ8¼´óeŽ›†1ï�žÉÓ±O̸ÄÊòV¡.¥ù"�ˆtNˆ‚@pк¼œÚÖœz°–sÚ>vÍ9ô
Õ3·Ï;Ì䜧`ŒqN”âèÌ|/‚µù‹ôKPîfAyõ•ËÙNÎò�:2�‹?55‰?}øêÎhþ‡—z÷Å[&j¿
qøa¬!òÕo¡ÕjµáìêÊÄñ³¬
°¶0M1s—¤âùh²˜A\smm�, 
©Ÿg›¸®y‡åpzRç5 tã&^šÑs·%E§AJÃå&=g}üúêytW»¹ÃäòEôñsè/p�§Ó±®ExÏh¾…‰#诂Íx§‡Qßäs³Ígù‹|–/ò™‚íè|ðýWÍP²„Ò`“¬–xÀ^·Óý‡Á( ¡·Ò™ð�½UR    
l8ô%hJÿ³`)Uim•6ÐÑh²é®ð]8]æÌa8(L°2ÁÏæñã'8“P9½tWª*AÉö¾y¢ŠÅ�Õš¿ÌpZg¸Æ‹¨F ø|‰sJzè~u}–ðÔP’Aª'„fÄK)�D/Ni�î]�¸™[Ä‹I(è rÅnƒ©«Úl_
“Pê1ñ`u/h`Z/‹P    Õ¢gJŸ½4¤_�üÄ~Afq_ëLTKPrh¦,¡6ÐÉã‹ø‘¦g^é +vbÀÙôŠ#` ÀÑ4çÄ=(|ú´¡¬Å+ù53ÆJ¸“>Œaô/Ã!g‚×V«çG‹¿”ΈK"úH¾ÒÙh™Ø–}û—×þñ¾ýï;‹4    G�»õô—ñê|û–½rñòíÛ-ÞlÛæO·Î<ÜÁ?x¸ý‹?ÞÞ9Î+G�ßYx(ëXƒ�º¤¾ÍÅ*¦0•�'xgS P‰Lpàíöä¼Iz>…ÌèÖjazTŽÜÝÁˆ`$4¥PQµzb„Yµ
ñýÞùYœ—XGrÅá”Z>iì�q)oŒ9”‹30ðµ•T�'Z’Ú"MÁüxm�    ¤˜,ûâ}±G¼¥eÿbªî8˜.Ü®ƒ"‘Ú²éþ6)Ÿ\E�¯KŸ�“:ÜêÖªÞ‘¾nw    R!ø¨+*ùbõ¤Ô)1”
@°�²¥TïK4C©D×*f|ä¢X`÷÷õZ ÷ɶ^åBÔß.íÂ2@»p-õ˜¨^+/ªOäÍ[Þ¤_ªÛK’P”›™è À�ñ&¸
lT¤¼[µÑá@ÅyójÙÙ«ÍTÛ«ÇT;ŽŠ„~ J3?ô2Ø¡{êê“=£vÖ1!¡ˆ2¼&{F¥¿ÝFÀ�Y“›sÀæ¼¹j6Õ¼Iñˆ
+(ðä‰p#ÜÝ]BBÒ¿CäÓ�Nàg%¶Ü ä]bË�?»µT¾¨ßÖ¼�ÁÖü'}3c�ûj„—ù-2çm"Ú~,bj}uHKÎïY‰FaZÓÁ@M²GH;›ÁTi~WŸþ´e|ÆEÍ/‚GÑl‡AÀ…g~l?mE�)Z;¡UU)ÖP    ÷‰OqÀõ–<êAZ§)ÚÆ¤Î…|aMrÒ%§.Ù‡Üî?ƒÄCzõò«±¤&$ÚZÞ¥;¹Ö (Ýñ€È
âüƒ-ÂPs-E‹Û¦Rlþ��[ÄÊ<é€>ä.íñëƒpn¯Fð–wr/…äcP>"\'K}).æ½À�ŒlO•*?RHOÀ*ó˜÷1È"!.?ƒ"RÚ"Y|O¹ob    ÙwJ®¿ÂFDVŽiÉS6›QÌž½Œ”|9Æã0~š(|¸“pÿ,Ú%" ða)¢’þdo…O;…Ç´7IÉ/2åÚmáÀ…�!—ðxÚ…7©F7áÈ8(ìœ+D;ÏAQw)_!—X«+”*etO�E1ª-ÝáõRI©†Ç¾šÆ½�*j]…“Ü)–C ƒöV‡=/± ðuè«9]¸›Œ¤‡EGªð4B£¨ý„®ÀëÅ—Z¦tÒXn+bôüÃ?’ó�zé5xÃx‘ì$^«ÁÂØ/'Hé<²ME–Wñ͆Ó@ç-Šu…»7ùÕêoð>»¼àUB• Õß,øsH*¾:ú†X‚�.œR�j•�’°Ü½2PñšCM~>reÆÏ–7΀çÛðê4ÕX°]Õ×0W˜cg€I¥Ž8VˆcÕ�¬ßƒÔËX½lø,øÃB|ì 
ÔƒjûÔ╚«É±šDEà¾Mܘ¶,:ŒŠËýˆÅqj|�ÁÉ]CÉïC¹Í¿4y!wl;m™¢qRì6“    Í)�HîÁ†eħa˜u”ÝkB@:�áÈ<=‰Ã•{3Ì– ç¸~?¼Y軌Vž$á÷Ëú¼´9QuWØœ�F›¾„¡b�{.¥=è'=Ѻ^ª¼Ñ¶þ@ö
þ¡Ðž8žy�Øn3÷cõmo(ê    5ª\æt«r(\^¦H:Ò-šŒ´z¡¥¿u^jn“ÇáÝô9R¿þ’ŸÇd]×\%ßb±rù×-Nh{ëc¬€_–
YÌ-j‘èì"€›¢NsÛÔ¡‘_Ç
&Æá<D†SI ˆÏð³†0¿µh¥õž©Á�ˈ"ÃðÂ�>0(bx8È}ÉùèwòØI;9$g×ã?Fu”j”ÂÀv¥b‡‡;“´Â./ƒô̼3Ó—Z
rAó¿/îÎ`˜JQÔÖŠü<ëK¼½OmCLžŠ,õ¦]•SÇÁqApÜ66@#8®$(•%R*!ϲЎÊFžô&’#yGÚñj H[ŒÁ@O�(b±r9qG@ÞÀ@OD’æ)±y¡t{|ׯX¬1wLvÍç`¥ üªS°èÞµE…«�FËÙ´¹^®�_5ÏQ¦!:Û–‘ÞyzR�.uùÒ3¶¾)87�3'Ül$KüA…F6‡¥¨®Jª+�êªgìSê,^qªcA•‹Œgßø4¯<ù)]-»ØLéLà!mòTy>>Ƀka-§9úà))¼˜4®Ýy§B+3,3¢â.”{c}ª�]”kUÕ™J†Toƒ/‚Œb¸˜@r!³$ãûqù!E�®þ
Œ]5zP¦™Î xì•¿—ÑÍ_fb ò¶¤½]ÑÒÀ/üc�\[ÙÈyø4›QTº"iîš6X™!×ÅF�G'HÅ”Z›àä‘&üoN3ÅÁ†Ëé±38îÁƒÉ*ú×V³~ÇÝî+Àrš–c™¨
XÒä¶syñî˜w0·Ë�¨C¦/>Nº˜Þ›_    
;ÜCõæo˜T®–µŽ,R«¬4üÌua�Ýøád‹nf–Ç뢫\þŒwÖ¿JýþÆ/6Њ¥¥TÙ9¢ìÛ„I´Ê.õz©´ðw[òW�VžP<d7+��GØ@åg—_t8´&,D. ®®E–o7į"Çþ�ÍÀ¾Ù»‚xîh–Ïû¬ÙtT'JÍݲ»gÏ�o¬mž×ÿ¯´Ï‹Z¨�ô¿ GòŽ1+��
Vorschläge? :p
 
Sendet der Server denn die korrekten Header? D.h. weiß der Browser, dass er komprimierte Daten empfängt?

Mein Vorschlag: nimm einfach eine fertige Lösung. Einfacher als mit Minify gehts eigentlich nicht. Und das nimmt dir auch die Arbeit ab, bei Updates die Scripts wieder manuell gzippen zu müssen.

Greetz

paddya