此刻我有什么。
在位置部分的httpd-deflate.conf中:
SetEnvIfNoCase Request_URI \
\\.(?:gif|jpe?g|jpg|png|rar|zip|exe|flv|swf|mov|wma|mp3|mp4|avi|mp?g)$ no-gzip dont-vary
在.htaccess中:
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
RewriteRule ^(.+)$ /index.php?_route_=$1 [L,QSA]
通过这些设置,服务器上实际存在的图像将根据需要进行处理 - 无需gzip编码,也无需使用"内容编码:gzip"服务器响应中的标头。
但不存在的图像在index.php文件中处理。 http://example.com/nonexistent-path/non-existent-image.jpg 回复机构:
Cache-Control: max-age=84148768
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 49860
Content-Type: image/jpeg - ((I set it in php manually after image generation before output))
Date: Mon, 01 May 2017 22:04:48 GMT
Expires: Tue, 31 Dec 2019 20:44:16 GMT
Last-Modified: Thu, 17 Nov 2016 14:51:10 GMT
Server: nginx
Strict-Transport-Security: max-age=2592000
Vary: Accept-Encoding
X-XSS-Protection: 1; mode=block
x-content-type-options nosniff
如您所见,这个不存在的图像被处理为文档,而不是.jpg图像。
在服务器上我有Apache和nginx代理,据我所知。我应该在httpd-deflate.conf或任何其他地方粘贴什么来删除不存在的图像的gzip编码并删除"内容编码:gzip"在服务器响应?
谢谢。
答案 0 :(得分:0)
使用
apache_setenv( 'no-gzip', '1' );
输出前在PHP脚本中。