您好!欢迎访问否玩代码!
My title page contents
广告位

HTTP自动跳转HTTPS的4种方法(Nginx/Apache/IIS/Cloudflare)

栏目: 日期: 浏览:146

为什么要做HTTPHTTPS的跳转?

于2026年, HTTPS并非“加分项”, 而是成为标配, 若用户借由http://去访问你的网站, 浏览器会径直标记为“不安全”, 这十分严重地影响到用户信任以及SEO排名

核心目标是,将所有针对 http:// 的请求, 进行 301 永久重定向, 使其转到 https://, 从而保证传输加密, 并且确保 SEO 权重不被分散。

方法一:Nginx(最常用)

身处 server 区域之内, 监视聆听那 80 端口, 而后施行 301 跳转动作。

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$server_name$request_uri;
}

重难点之处在于, 采取应用 $server_name 的方式来留存原始的域名, 运用 $request_uri 的手段去保留路径以及参数, 以此防止出现 URL 丢失的情况。

方法二:Apache(.htaccess)

把内容添加于网站根目录那儿的, 名叫.htaccess的文件之中哈。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.)$ https://%{HTTP_HOST}/$1 [R=301,L]

留意一下: 要确定 mod_rewrite 已然处于启用状态, 这种方案是适配虚拟主机用户的, 并不需要对主配置进行修改。

方法三:IIS(Windows Server)

通过URL重写模块实现:

1. 安装“URL Rewrite”模块。

2. 在 web.config 中添加:


    
    
        
    
    

> 适合企业级Windows服务器环境。

方法四:Cloudflare(无需服务器配置)

在Cloudflare控制台:

2. 让 Always Use HTTPS 处于开启的状态。

3. 将Automatic HTTPS Rewrites设置成开启的状态, 使其处于开启的情形之下, 让它处于那种开启的状况之中 , 把它设定为开启的样子。

优点是, 无需一点点编写代码, 流量直接经由CDN这个层级去处理, 这种情况适合那些并不擅长于进行服务器配置相关操作的站长。

验证跳转是否成功

运用开发者工具, 此工具可通过按下F12键来开启操作, 或者采用curl命令。

curl -I http://example.com

检查一下返回的状态码, 看它是不是301 , 还要查看Location , 瞧瞧它是不是以https:// 作为开头。

常见坑点

是选择301, 还是选择302? 一定要采用301(永久属性的那种), 防止302(具有临时性质的)致使搜索引擎无法去更新索引。

超文本传输安全协议严格传输安全头: 在经跳转达到稳定状态以后, 提出添加该Stricr-Transport-Security头的建议, 迫使浏览器直接去访问使用超文本传输安全协议的网站地址资源。

在进行跳转之后, 要去检查页面内部, 看是否存在以http://开头的图片, 以及JS、CSS, 要是不存在的话, 那么浏览器仍然会报出不安全。

否玩代码编辑 https://www.fouwan.com