开发者社区> 问答> 正文

nginx配置域名跳转问题:报错

nginx中一个网站配置了5个域名,确定主推的域名为www.test.com后,做了如下跳转:

 if ($host != 'www.test.com') {

      rewrite ^/(.*)$ http://www.test.com/$1 permanent;

  }

现在想增加个域名www.other.com,不跳转到www.test.com,应该怎样处理,谢谢。

展开
收起
kun坤 2020-06-14 11:55:13 1109 0
1 条回答
写回答
取消 提交回答
  • 引用来自“红薯”的答案

    这应该做虚拟主机啊
    红薯的意思是写多个server {}每个server段有独立的server name
    ######明白了,非常感谢各位######这应该做虚拟主机啊######域名:www.other.com不跳转到www.test.com的意思是访问www.other.com时,也是访问的这个网站,但不让他跳转到www.test.com######感谢您的回复,我现在用的就是虚拟主机,上面就是在虚拟主机中配置的,这是一个网站,6个域名都指向的这个网站######在server{}下面写不要直接写在http{}里面.
    ######对的,是在server{}里面写的,但是关键是那个if判断的问题,不能加&&,不能嵌套,我想两个域名例外###### 把你的这个if判断去掉,直接配置 server_name为5个域名,然后location指向http://www.test.com$1 pernament,然后再配置一个server,server_name为www.other.com,然后location指向你设定的位置######这是个不错的方法,可否从nginx条件语法方面解决######

    if ($host != $server_name) {

          rewrite ^/(.*)$ http://$server_name/$1 permanent;

     }

    这样试试行不?

    ######这样不能301跳转了######

    1个server可以绑定多个server_name,就类似apache的ServerName和ServerAlias,你那5个不就是一个Server啊,绑定多个域名就是了。那个other再弄个server啊。刚查了下nginx的配置,支持多server_name的。我是用apache的。

    http://blog.s135.com/post/382
    随便找了个文章,虽然旧,但是说明问题就行了,我懒的

    ######恩,谢谢各位,多个server可以搞定
    2020-06-14 11:55:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
创业公司的域名想象 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载