首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置nginx www和非www域

问如何配置nginx www和非www域
EN

Stack Overflow用户
提问于 2017-07-31 22:33:53
回答 1查看 2.7K关注 0票数 1

我遵循两个教程(1和2)在我的服务器上设置两个域,但经过多次尝试后,我不知道如何让这两个域都工作,并将www重定向到非www。目前,使用相同的服务器块文件和DNS记录,两者以不同的方式工作,我认为这可能是一些缓存,但我不知道为什么。服务器块文件是:

代码语言:javascript
复制
server {
       listen 80;
       listen [::]:80;

       server_name domain.com;

       root /var/www/domain.com/html;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }
}

而且两者都有相同的DNS记录:

代码语言:javascript
复制
A Record | @ | VPS IP
A Record | www | VPS IP

问题是域不能正常工作。

  • "domain1.com“不工作(Chrome上的DNS_PROBE_FINISHED_NXDOMAIN错误)。
  • "www.domain1.com“重定向到默认页面(设置为默认的块服务器),而不是正确的页面(位于domain1块服务器文件中的服务器)。
  • "domain2.com“运行良好。
  • "www.domain2.com“不工作(DNS_PROBE_FINISHED_NXDOMAIN)。

我重新启动了nginx和VPS,但两者仍然以不同的方式工作(正如我所描述的)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-01 01:41:00

我终于找到了办法。

这是一个服务器块配置,我已经证明了,但是使用了其他DNS (过去),所以现在它使用以下组合:

DNS记录(与上面相同):

代码语言:javascript
复制
A Record | @ | VPS IP
A Record | www | VPS IP

服务器块配置:

代码语言:javascript
复制
server {
        listen 80;
        listen [::]:80;
        server_name www.domain.com;
        return 301 $scheme://domain.com$request_uri;
}
server {
        listen 80;
        listen [::]:80;
        server_name domain.com;

        root /var/www/domain.com/html;
        index index.html;
}

感谢@Timilo的建议,它感动了我再试一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45426315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档