.htaccess mod_deflate 不适用于动态 URL

.htaccess mod_deflate 不适用于动态 URL

我有一个如下的 URL,www.example.com/fr_FRcurl 返回类型如下:

HTTP/1.1 200 OK
Date: Mon, 16 Oct 2017 10:35:19 GMT
Server: Apache
Set-Cookie: PHPSESSID=img4385scm6ldm6vngtntsrou1; path=/; HttpOnly
Cache-Control: no-cache
Set-Cookie: FirstVisit=1; expires=Wed, 18-Oct-2017 10:35:20 GMT; Max-Age=172800; path=/; httponly
Cache-Control: no-cache
Content-Type: text/html; charset=UTF-8

My.htaccess包含以下指令:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript application/rss+xml application/xml application/xhtml+xml application/x-font-ttf application/x-font-opentype image/svg+xml
</IfModule>

问题是特定的 URL 没有被 gzip 压缩,但是,如果我访问一个.html文件或者直接在我的 apache vhost 中添加文件,AddOutputFilterByType DEFLATE text/htmlgzip 就可以工作:

Content-Encoding: gzip

有关我的 vhost 的信息AllowOverride设置为All

这个 URL 有什么问题/fr_FR,为什么虽然是,但是却没有被 gzipContent-Type压缩text/html

更新1:

供参考我的网站是一个 symfony2 网站

答案1

Apache 文档(http://httpd.apache.org/docs/2.2/mod/core.html#addoutputfilterbytype) 表明 AddOutputFilterByType 在某些情况下可能会部分或完全失败。此外,此指令在 apache 2.1 及更高版本中已弃用。既然您说 .html 有效,您可以尝试:

AddType text/html .html

相关内容