全球主机交流论坛

标题: 请教个nginx伪静态跳转规则 [打印本页]

作者: aumfoo    时间: 2017-12-18 08:33
标题: 请教个nginx伪静态跳转规则

  1. if ($host != www.baidu.com){
  2. return 301 http://www.baidu.com$request_uri;
  3. }
复制代码


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

应该怎么弄呢?
作者: rooney    时间: 2017-12-18 08:33
  1. set $isbaidu "0";
  2. if ($host = "baidu.com"){
  3.   set $isbaidu "1";
  4. }

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

  8. if ($isbaidu != "1") {
  9.     return 301 http://www.baidu.com$request_uri;
  10. }
复制代码

作者: 查无此人    时间: 2017-12-18 08:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 傻逼真的很傻    时间: 2017-12-18 08:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: 南琴浪    时间: 2017-12-18 08:53
亲,这叫301
作者: aumfoo    时间: 2017-12-18 09:05
南琴浪 发表于 2017-12-18 08:53
亲,这叫301

嗯嗯,谢谢指正。
作者: aumfoo    时间: 2017-12-18 09:09
傻逼真的很傻 发表于 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
本帖最后由 今晚我是你的 于 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
今晚我是你的 发表于 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
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;
}
作者: aumfoo    时间: 2017-12-18 10:00
今晚我是你的 发表于 2017-12-18 09:35
你写2个不可以了吗
if ($host != www.baidu.com){
return 301 http://www.baidu.com$request_uri;

。。。。。。
作者: 龙腾宇内    时间: 2017-12-18 10:18
  1. if ($host != www.baidu.com){
  2. return 301 http://www.baidu.com$request_uri;
  3. }
  4. if ($host != baidu.com){
  5. return 301 http://www.baidu.com$request_uri;
  6. }
复制代码

作者: janfou    时间: 2017-12-18 10:44
要真这么写,不进死循环吗?

举例也得有区别性吧
作者: aumfoo    时间: 2017-12-18 10:45
龙腾宇内 发表于 2017-12-18 10:18

这种试过了 不行的
作者: 龙腾宇内    时间: 2017-12-18 11:25
aumfoo 发表于 2017-12-18 10:45
这种试过了 不行的
  1. if ($host != baidu.com){
  2. return 301 http://www.baidu.com$request_uri;
  3. }
复制代码


我觉得这样其实就够了
作者: aumfoo    时间: 2017-12-18 11:26
龙腾宇内 发表于 2017-12-18 11:25
我觉得这样其实就够了

嗯嗯 我也觉得这样够了,但是这个帖子讨论的是在这种情况下加入一个不跳转的域名嘛。
作者: 龙腾宇内    时间: 2017-12-18 11:26
龙腾宇内 发表于 2017-12-18 11:25
我觉得这样其实就够了

上面那个你把!换成=
然后你绑定域名到www上就好了




欢迎光临 全球主机交流论坛 (https://loc.1226.eu.org/) Powered by Discuz! X3.4