从HTTP切换到HTTPS的最佳做法是什么?

Jub*_*air 9 php ssl https http

我很好奇.将用户从http://www.example.com自动切换到https://www.example.com的最佳做法是什么

即从httphttps?理想情况下,我想做到这一点,无论网址是什么(以及任何可能的获取数据)

人们聊了几件事,比如检查$_SERVER ["SERVER_PROTOCOL"]或者$_SERVER['SERVER_PORT']或者$_SERVER['HTTPS']我想知道最佳做法是什么.

ale*_*lex 14

PHP

如果要强制httphttps,做到这一点...

if ( ! isset($_SERVER['HTTPS'])) {
   header('Location: https://' . $_SERVER["SERVER_NAME"] . $_SERVER['REQUEST_URI']);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您的站点有自定义端口,则还需要添加$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI']如果您正在使用它,也不会在IIS上设置.

Apache .htaccess/httpd.conf

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)