aumfoo 发表于 2017-12-18 08:33:23

请教个nginx伪静态跳转规则


if ($host != www.baidu.com){
return 301 http://www.baidu.com$request_uri;
}


像这种是如果访问的不是www.baidu.com,那就跳转到www.baidu.com
想修改成,如果访问的不是www.baidu.com或baidu.com,那就跳转到www.baidu.com

应该怎么弄呢?

rooney 发表于 2017-12-18 08:33:24

set $isbaidu "0";
if ($host = "baidu.com"){
set $isbaidu "1";
}

if ($host = "www.baidu.com"){
    set $isbaidu "1";
}

if ($isbaidu != "1") {
    return 301 http://www.baidu.com$request_uri;
}

查无此人 发表于 2017-12-18 08:35:35

傻逼真的很傻 发表于 2017-12-18 08:45:37

南琴浪 发表于 2017-12-18 08:53:29

亲,这叫301

aumfoo 发表于 2017-12-18 09:05:21

南琴浪 发表于 2017-12-18 08:53
亲,这叫301

嗯嗯,谢谢指正。

aumfoo 发表于 2017-12-18 09:09:16

傻逼真的很傻 发表于 2017-12-18 08:45
if ($host != www.baidu.com || $host != baidu.com){
return 301 http://www.baidu.com$request_uri;
}

亲,在宝塔上这样写了,保存的时候提示错误呢。

今晚我是你的 发表于 2017-12-18 09:10:12

本帖最后由 今晚我是你的 于 2017-12-18 09:17 编辑

if ($host != 'www.baidu.com' || $host != 'baidu.com' )
return 301 http://www.baidu.com$request_uri;
}


if ($host != 'www.baidu.com' && $host != 'baidu.com' )
return 301 http://www.baidu.com$request_uri;
}

aumfoo 发表于 2017-12-18 09:28:30

今晚我是你的 发表于 2017-12-18 09:10
if ($host != 'www.baidu.com' || $host != 'baidu.com' )
return 301 http://www.baidu.com$request_uri;
...

大佬刚才发那个我试了下,是要满足全部host条件,不是满足条件之一吧?
现在发的这个,有两个$host的 宝塔直接不给保存。。。好烦躁

今晚我是你的 发表于 2017-12-18 09:35:14

aumfoo 发表于 2017-12-18 09:28
大佬刚才发那个我试了下,是要满足全部host条件,不是满足条件之一吧?
现在发的这个,有两个$host的 宝 ...

你写2个不可以了吗
if ($host != www.baidu.com){
return 301 http://www.baidu.com$request_uri;
}
if ($host != baidu.com){
return 301 http://www.baidu.com$request_uri;
}
页: [1] 2
查看完整版本: 请教个nginx伪静态跳转规则