我发现了一个有趣的问题。
我尝试使用NGINX的gzip_static模块来提供一些没有源代码的gzip文件(我知道这样做的缺点),这意味着您可以在服务器上使用transfer-encoding来提供gzip文件:例如,如果有一个文件/foo. html. gz,则对/foo. html的请求将使用内容编码的压缩文件:文本/html。
虽然这通常是可行的,但事实证明,当在目录中查找索引文件时,gzip版本不会被考虑。
GET /index.html
200
GET /
403
我想知道是否有人知道如何解决这个问题。我尝试将index.html.gz
设置为索引文件,但它是作为一个gzip文件,而不是gzip编码的html文件。
2条答案
按热度按时间ttcibm8c1#
很明显这样行不通。
这是模块source的一部分:
因此,如果uri以斜杠结尾,它甚至不会查找gzip版本。
但是,你可能可以使用rewrite来破解。(这是一个猜测,我还没有测试过)
编辑:要使它与autoindex(guess)一起工作,可以尝试使用以下代码而不是重写:
总的来说,它可能比重写更好。但是你需要尝试...
9wbgstp72#
你可以准备好你的预压缩文件然后发送它。下面的文件是由PHP准备的,并且不需要检查客户端是否支持gzip。