0

What I have at this moment.

In httpd-deflate.conf in Location section:

SetEnvIfNoCase Request_URI \
\\.(?:gif|jpe?g|jpg|png|rar|zip|exe|flv|swf|mov|wma|mp3|mp4|avi|mp?g)$ no-gzip dont-vary

In .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]

With these settings images that are actually on the server are processed as needed - without gzip encoding and without "Content-Encoding: gzip" header in the server response.

But nonexistent images are processed in index.php file. http://example.com/nonexistent-path/non-existent-image.jpg The response body:

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

As you see this nonexistent image was processed as a document, not as a .jpg image.

On the server I have Apache and nginx proxy, as I understand. What should I paste in httpd-deflate.conf or in any other place to remove gzip encoding for nonexistent images and to remove "Content-Encoding: gzip" in the server response?

Thank you.

uzr
  • 1,210
  • 1
  • 13
  • 26

1 Answers1

0

Use

apache_setenv( 'no-gzip', '1' );

in your PHP script before output.

Pang
  • 9,564
  • 146
  • 81
  • 122