强制https用于整个服务器/域

da5*_*5id 10 apache .htaccess mod-rewrite https

我正在开发一些只能通过https访问的表单.我有一个专用的服务器,有自己的证书和所有好东西.

所以我的问题确实是双重的:

1).强制每个请求成为https的最佳方法是什么?有没有比这更好的方法.htacess/mod_rewrite规则:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Run Code Online (Sandbox Code Playgroud)

2).是否有任何潜在的陷阱或缺点迫使我应该考虑的所有内容都是https(除了开销,这似乎不是一个问题)?

Joh*_*sch 13

你有什么应该没事,这是我用的:

RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)

R表示这是一个重定向,而不是重写,并L表示该重写引擎不应该执行任何更多的重写.

我最初在这里找到了这个:Httpd Wiki

编辑:

我忘了提到SSLRequireSSL强制所有请求都通过HTTPS 的指令.详细信息可以在Apache文档中找到.