当前位置:论坛首页 > Linux面板 > 求助

【已完成】宝塔后台nginx环境如何把http和https 分开单独设...

发表在 Linux面板2023-4-21 21:28 [复制链接] 4 3129

本帖最后由 堡塔运维香菜卷 于 2023-4-21 22:55 编辑

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:
系统版本:
问题描述:
相关截图(日志、错误):

nginx环境如何把http和https 分开单独设置301跳转
举例跳转之前的网址是123.com,301后的网址是456.com
需要实现以下效果
跳转前http://www.123.com/   301=>  http://www.456.com/
跳转前https://www.123.com/    301=>  https://www.456.com/
宝塔后台的重定向不能选择跳转之前的网址是https还是http只能设置跳转后的网址是否带s
请问怎么设置,我百度下了教程也没解决,我现在有个网站需要做网站改版,提交一直提示[链接多跳一错误],后来百度了下才知道是因为http和https没有分开设置301跳转导致的,下面是网上找的教程,但是我没有搞定
https://www.chichisvip.com/post/54216.html
请问怎么设置才能解决这个问题
使用道具 举报 只看该作者 回复
发表于 2023-4-21 22:03:33 | 显示全部楼层
本帖最后由 堡塔运维香菜卷 于 2023-4-21 22:09 编辑

您好,您这个需求前提得关闭强制ssl使用。然后需要手动修改配置文件,在配置文件中添加一段判断

        if ($scheme = https) {
        return 301 https://www.456.com$request_uri;
    }
        if ($scheme = http) {
        return 301 http://www.789.com$request_uri;
    }

如我这里的 1.png 上述配置中,根据请求的 scheme(http 或 https),分别设置了不同的 301 跳转规则。
当请求为 http 时,跳转到 http://www.789.com
当请求为https 时,跳转到 https://www.456.com
其中,$request_uri表示请求的 URI,会被原封不动地添加到跳转后的 URL 中。




使用道具 举报 回复 支持 1 反对 0
发表于 2023-4-21 22:15:12 | 显示全部楼层
建两个网站一个监听80一个监听443。都做301跳转?反向代理到一个站点?共用一个数据库?可以试试。或者nginx做sin识别?

还有一个宝塔有两个301。一个是ssl的301。一个是 http497跳转。把497注释点试试
使用道具 举报 回复 支持 反对
发表于 2023-4-21 22:36:01 | 显示全部楼层
可以了,谢谢
使用道具 举报 回复 支持 反对
发表于 2023-4-21 22:54:25 | 显示全部楼层
堡塔运维香菜卷 发表于 2023-4-21 22:03
您好,您这个需求前提得关闭强制ssl使用。然后需要手动修改配置文件,在配置文件中添加一段判断

        i ...

这个方法完美解决了!
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表