更新

更新

我正在通过 SSL 为一些网页提供服务。
问题是,这些页面上的所有图像、CSS 和 JS 文件都使用相对路径 (/images/save.png) 包含在内,因此浏览器通过 SSL 请求它们。这有点浪费。

有没有办法配置 Apache 以便不通过 SSL 提供图像、CSS 和 JS 文件(即使请求这样做)?

答案1

我不建议这样做,因为每个客户端都会收到有关混合 SSL/非 SSL 内容的警告。但你问:

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(\.js|\.css)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

更新

正如@lekensteyn 正确指出的那样,这是一种不容小觑的资源浪费。在这种情况下,重写的效果并不好。此外,对于每个文件请求,都必须匹配重写条件。

您还需要打开更多 TCP 端口,这又会产生开销。即使我们不深入讨论,使用两种协议执行各自的工作也会产生很大的开销。

相关内容