gpt4 book ai didi

apache - 如何对 .htaccess 文件中的某些媒体文件禁用 Apache gzip 压缩?

转载 作者:行者123 更新时间:2023-12-02 19:38:38 25 4
gpt4 key购买 nike

我想对某些已通过 .htaccess 文件在 Apache 服务器上压缩的媒体文件禁用 gzip 压缩。
原因:如其所写,例如jPlayer's site ,应该对媒体文件禁用 gzip 编码:“媒体文件已经被压缩,GZIP 只会浪费服务器上的 CPU。如果您对媒体进行 GZIP,Adobe Flash 插件将会遇到问题。”

我目前遇到的问题是,启用 gzip 时 Content-Length header 未正确设置 - 因此在播放一些带有 SoundManager2 的 mp3 文件时玩家,轨道的长度进度条无法正常工作(所以也许这就是他们在 jPlayer 网站上提到的问题)。

我可以测试内容是否经过 gzip 压缩 here .
我确实在服务器上启用了 mod_deflatemod_mimemod_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,但它们不起作用(有 6 种不同的尝试! - 也许其中一些必须在 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 文件的响应 header :http://pastebin.com/AkUZ6m5Y
使用此 RewriteRule 时 mp3 文件的响应 header :http://pastebin.com/b8j3NF6D

最佳答案

我必须禁用 odp 文件的压缩以供外部插件使用刚刚在 .htaccess 文件中添加了以下规则

SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.odp$ no-gzip dont-vary

并且服务器禁用了 odp 文件的压缩测试前请务必清除浏览器缓存

关于apache - 如何对 .htaccess 文件中的某些媒体文件禁用 Apache gzip 压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9249243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com