悠悠楠杉
网站页面
起因:
看到有坛友发帖询问,如何让主域名自动跳转https,但是某个目录例如/mpz 不强制跳转 https
思路:
第一印象的直接添加额外一条规则,失败了。。 原因。nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法
替代方案:
set $flag 0;
if ($server_port !~ 443) {
set $flag "${flag}1";
}
if ($request_uri !~ "mpz"){
set $flag "${flag}2";
}
if ($flag = "012"){
rewrite ^(.*)$ https://$host$1 permanent;
}
解释:满足非443 端口 并且 域名目录 非/mpz 时跳转
替换掉宝塔原来的:
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
把mpz改成需要用到的二级目录即可!
测试:
http://tools.zzwws.cn 跳转