我正在尝试在我的网络服务器上启用 Gzip,但没有成功。无论如何,我现在应该有,我以前做过,但成功离我很远。
我的 httpd.conf 中有这个
<位置“C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/bt/web”> # 插入过滤器 SetOutputFilter DEFLATE # Netscape 4.x 有一些问题... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 还有一些问题 BrowserMatch ^Mozilla/4\.0[678] 无 gzip # MSIE 伪装成 Netscape,但没问题 # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # 注意:由于 Apache 2.0.48 之前的 mod_setenvif 中的一个错误 # 上面的正则表达式不起作用。您可以使用以下 # 获得预期效果的解决方法: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # 不压缩图片 SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip 不变化 # 确保代理不会提供错误的内容 标头追加 Vary User-Agent env=!dont-vary </位置>
和
<IfModule mod_deflate.c> <FilesMatch "\.(js|css|html|htm)$"> SetOutputFilter DEFLATE </文件匹配> </IfModule>
mod_deflate 已启用。
我究竟做错了什么?
第一个问题是您拥有带有文件系统目录的元素......
这是来自 Apache 手册:
何时使用
<Location>
。用于<Location>
将指令应用于文件系统之外的内容。对于存在于文件系统中的内容,使用<Directory>
和<Files>
. 一个例外是<Location />
,这是一种将配置应用于整个服务器的简单方法。当我在 Apache 上设置 mod_deflate 时,我使用以下设置: