maikel..
5
最佳解决方案取决于您的要求.这是先前发布的答案的摘要,其中添加了一些上下文.
如果您使用Apache Web服务器并可以更改其配置,请遵循Apache文档:
ServerName www.example.com
Redirect "/" "https://www.example.com/"
ServerName www.example.com
# ... SSL configuration goes here
但是你也问过你是否可以在.htaccess文件中做到这一点.在这种情况下,您可以使用Apache的RewriteEngine:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
如果一切正常并且您希望浏览器记住此重定向,则可以通过将最后一行更改为:来将其声明为永久性:
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
但是如果你可以改变这种重定向的想法,请小心.浏览器会记住它很长时间,并且不会检查它是否发生了变化.
您可能不需要第一行,RewriteEngine On具体取决于Web服务器配置.
如果您寻找PHP解决方案,请查看$ _SERVER数组和标头函数:
if (!$_SERVER['HTTPS']) {
header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
}