Linux

干货 | 宝塔(Nginx)开启强制SSL后如何实现二级目录不强制跳转

微信扫一扫,分享到朋友圈

干货 | 宝塔(Nginx)开启强制SSL后如何实现二级目录不强制跳转
0

下文转自loc的 ukmg,本文记录备用。

起因:

看到有坛友发帖询问,如何让主域名自动跳转https,但是某个目录例如/123 不强制跳转 https

思路:

第一印象的直接添加额外一条规则,失败了。。    原因。nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法

替代方案:

set $flag 0;
if ($server_port !~ 443) {
        set $flag "${flag}1";
}

if ($request_uri !~ "123"){
        set $flag "${flag}2";
}

if ($flag = "012"){
         rewrite ^(.*)$  https://$host$1 permanent;
}

解释:满足非443 端口 并且 域名目录 非/123 时跳转

替换掉宝塔原来的:

    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

测试:

http://tst.picp.men             跳转

http://tst.picp.men/123     不跳转

展开阅读全文

微信扫一扫,分享到朋友圈

干货 | 宝塔(Nginx)开启强制SSL后如何实现二级目录不强制跳转
0
自媒体人,喜欢网络,热爱研究。本站头条号:星河 熊掌号:海拔科技

快讯 | 新浪微博开始限制图片外链(防盗链)

上一篇

知识 | tftp命令的使用

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

赞助商广告