原因:正如jPlayer网站所述,应该禁用媒体文件的gzip编码:"媒体文件已经被压缩,GZIP只会浪费服务器上的CPU。Adobe Flash插件将在您使用GZIP媒体时出现问题。"
目前我面临的问题是,在启用gzip时未正确设置Content-Length
头-因此,当使用SoundManager2播放器播放一些mp3文件时,曲目长度进度条无法适当工作(因此也许那就是jPlayer网站上所说的问题)。
我可以在这里测试内容是否为gzipped。
我在服务器上启用了mod_deflate
,mod_mime
和mod_rewrite
模块。
根据phpinfo(),以下是所有加载的模块列表:
core mod_log_config mod_logio itk http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav mod_dav_svn mod_authz_svn mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status
我正在使用Drupal 6,所以我已经有了一个RewriteRule,它是以下内容:
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
我已经尝试了以下六种方法来禁用gzip,但它们都没有生效:(也许其中一些需要在Apache的httpd.conf中设置全局参数?)
# http://www.cyberciti.biz/tips/speed-up-apache-20-web-access-or-downloads-with-mod_deflate.html SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
## Step 2. here: http://www.mydigitallife.info/how-to-enable-mod_deflate-gzip-compression-on-cpanel-web-hosts/ <IfModule mod_deflate.c> SetOutputFilter DEFLATE RemoveOutputFilter mp3 # Don’t compress already-compressed files SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:avi|mov|mp3|mp4|rm|flv|swf|mp?g)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary </IfModule>
RemoveOutputFilter mp3
# for files that end with ".mp3" <FilesMatch \.mp3$> SetEnv no-gzip 1 </FilesMatch>
RewriteRule \.mp3$ - [NS,E=no-gzip:1,E=dont-vary:1]
RewriteRule ^((.*)\.mp3)$ $1.mp3 [NS,E=no-gzip:1,E=dont-vary:1]
唯一一个可以正确工作并禁用gzip压缩的选项,但它是全局设置:
RewriteRule ^(.*)$ $1 [NS,E=no-gzip:1,E=dont-vary:1]
当不使用此RewriteRule时,mp3文件的响应头:http://pastebin.com/AkUZ6m5Y
当使用此RewriteRule时,mp3文件的响应头:http://pastebin.com/b8j3NF6D