我希望 Apache 通过网络发送 gzip 压缩的静态文件,但也希望 Apache 不总是一遍又一遍地对它们进行 gzip。所以我想如果 .gz 文件存在的话,它是否不可能交付。这个设置:
文件结构:
static/
|
|--- style.css
|
\--- style.css.gz
Run Code Online (Sandbox Code Playgroud)
以及 .htaccess 中的以下内容:
mod_rewrite 规则:
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]
Run Code Online (Sandbox Code Playgroud)
而这个设置:
AddEncoding x-gzip .gz
Run Code Online (Sandbox Code Playgroud)
实际上,只要发送 .gz 文件而不是 .css 文件,如果请求转到/static/style.css
. 问题只是,该文件作为“application/x-gzip”而不是“text/css”交付。使用 mod_rewrite 的 T 标志不会改变这一点。也没有明确的
AddType text/css .css
Run Code Online (Sandbox Code Playgroud)
有没有人有想法,我如何才能实现所需的行为?或者出于某种我不认为的原因是不必要的?
编辑:还有一个额外的困难:将原始文件发送给没有 gzip 支持的客户端。有谁知道这是如何工作的?
我们有一个小型网络,中间有 Ubuntu 服务器,周围有 Ubuntu 笔记本。笔记本都使用 eCryptfs 来加密用户的整个主目录。通常,每个笔记本有两个或更多用户。备份过程保留在网络内部,因此我们可以将未加密的文件传输到服务器。我们希望采用rsync
基于解决方案的解决方案,但也适用于其他解决方案。
我们在尝试备份笔记本的主目录时遇到了困难,这给我们带来了很大的麻烦。归结为:
如果用户 A 登录,则主目录被解密,并且其中的加密文件/home/.ecryptfs/A
被锁定以防止从其他进程读取(这是一件好事)
如果用户 B没有登录,他的家目录没有被解密,只有加密的文件在/home/.ecryptfs/B
.
我们需要一个备份脚本,当用户 A 登录(因为在我们的例子中她手动启动它)并且用户 B 可能登录也可能不登录(通常不会)时,我们需要一个可以运行的备份脚本。
现在的问题是:我们应该备份什么?如果我们去加密数据,用户A的东西是无法备份的。另一方面,解密数据意味着用户 B 也必须登录。当涉及到恢复某些东西时,将两者混合在一起会带来一段有趣的时光。
也许我们错过了这个问题的其他解决方案?