1

.htaccess直接从html5boilerplate.com复制了以下文件:

<IfModule mod_deflate.c>
    # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
          SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
          RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>

    AddOutputFilterByType DEFLATE application/atom+xml \
                                application/javascript \
                                application/json \
                                application/rss+xml \
                                application/vnd.ms-fontobject \
                                application/x-font-ttf \
                                application/xhtml+xml \
                                application/xml \
                                font/opentype \
                                image/svg+xml \
                                image/x-icon \
                                text/css \
                                text/html \
                                text/plain \
                                text/x-component \
                                text/xml
</IfModule>

YSlow只显示一个未压缩的文件,它的文件名是testing.cache,它的内容是 html 和 css 的混合。我将文件重命名为,testing.html文件被压缩得很好。我预计该testing.cache文件也会被压缩,因为它属于该text/html组(这是我在页面加载时通过 ajax 加载的文件)。所以,我想知道我是否可以这样:

<FilesMatch "\.(cache)$">
    someDirectiveToCache .cache file
</FilesMatch>

我查看了mod_deflate是否有任何匹配的指令,但没有运气。当然我可以保留它,testing.html但我想知道它是如何完成的testing.cache。另外,我认为FilesMatch可以在<IfModule mod_deflate.c>模块中使用,因为它可以(测试和使用)在<IfModule mod_expires.c>这样的内部使用:

<FilesMatch "\.(cache)$">
    ExpiresDefault "access plus 1 hour"
</FilesMatch>

我的 Apache 版本(如果重要)是:2.2.15

4

1 回答 1

5

我设法让这个工作,实际上很容易。我浏览了所有文档以找到AddOutputFilter简单且实际适用于扩展的指令。

2.2 版文档中所述的AddOutputFilter 指令语法为:

AddOutputFilter filter[;filter...] extension [extension] ...

在我AddOutputFilterByType添加的指令之后的示例中:

AddOutputFilter DEFLATE cache

希望这对将来的某人有所帮助。

于 2013-01-09T09:47:59.927 回答