我正在开发一些只能通过https访问的表单。我有一个专用的服务器,有自己的证书和所有好东西。
所以我的问题确实是双重的:
1)。强制每个请求成为https的最佳方法是什么?有没有比这更好的方法.htacess / mod_rewrite规则:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
2)。是否有任何潜在的陷阱或缺点迫使我应该考虑的所有内容都是https(除了开销,这似乎不是一个问题)?
答案 0 :(得分:13)
你所拥有的应该没问题,这就是我使用的:
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
R
表示它是重定向而不是重写,而L
表示重写引擎不应再执行重写。
我最初在这里找到了这个:Httpd Wiki
修改强>
我忘了提及强制所有请求都通过HTTPS的SSLRequireSSL
指令。详细信息可在Apache Documentation。