我使用Apache作为Web服务器来重写URL。模式很简单:
if request starts with "/services" then
rewrite is off
else
using ssl. replaces http with https
所以我有自己的解决方案:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/services.* [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
此外,我通过urL分隔访问日志,一个是ssl访问日志,另一个是没有ssl访问日志。我想要看的是没有ssl访问日志包含请求只从服务开始。但我发现一些请求在没有ssl访问日志喜欢这样:
10.75.6.22 - - [28/Mar/2012:08:38:08 +0800] "GET /validate/showValidateProgress.jsp?
10.186.96.70 - - [28/Mar/2012:09:01:48 +0800] "GET /vjsp/confirm.jsp?
不以/ services开头的请求应该使用ssl,遗憾的是我的配置文件无效。但是在ssl访问日志中仍然存在一些请求,这意味着一些请求满足了我的期望。 我对日志非常困惑,无法弄清楚我的配置有什么问题。感谢。
答案 0 :(得分:0)
这应该有效:
# if request starts with "/services" then rewrite is off
RewriteRule ^/services - [QSA,NC,L]
# using ssl. replaces http with https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}