技术解析

nginx 某一域名 CNAME 到另一个二级域名下, 404
0
2021-05-26 14:34:38
idczone

已有aaa.com,bbb.com两个域名,把aaa.com通过CNAME指向到aaa.bbb.com,
出现了404,不清楚是什么缘故?
附上vhost.conf,注释掉的方法已经试过依然404...

server
{
        listen 80;
        server_name bbb.com www.bbb.com aaa.bbb.com aaa.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/www.bbb.com;

        #if ($host ~ "aaa\.com") { 
        #     rewrite ^(.*) http://aaa.bbb.com$1/ permanent; 
        #}

        location / {
             try_files $u大带宽服务器ri $uri/ /index.php?$query_string;
        }

        location ~ [^/]\.php(/|$)
                {
                        try_files $uri =404;
                        fastcgi_pass  unix:/tmp/php-cgi.sock;
                        fastcgi_index index.php;
                        include fastcgi.conf;
                }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                {
                        expires      30d;
                }

        location ~ .*\.(js|css)?$
                {
                        expires      12h;
                }

        access_log  /home/wwwlogs/www.bbb.com.log  access;
}

访问 aaa.com 出现跳转aaa.bbb.com?

aaa裸域名能cname?

你有没有在域名解析里面添加aaa.bbb.com的解析,另外是否已在nginx里添加了aaa.bbb.com这个域名?
把aaa.com通过CNAME指向到aaa.bbb.com相当于aaa.com是bbb.com的一个二级域名。

看下日志先

2 L 正解

bbb.com的解析中是有一条A记录aaa.bbb.com到bbb.com的IP的,nginx里面也添加了这个域名如上面的conf文件中所示,为什么还是不行呢,是不能把一级域名作为另一个一级域名的二级域名吗?

请教下应该是怎样呢?

root /home/wwwroot/www.bbb.com;
如果你是把aaa.com当做bbb.com的子域名的话,这一段正确应该是写成
root /home/wwwroot/www.bbb.com/www.aaa.com;

CNAME 并不影响 HTTP 的 Host 。

裸域名不能为cname这是规定
你看errorlog怎么说
而且 location ~ [^/]\.php(/|$)算几个意思?.php文件夹下么?或者文件名为.php么!
以前正常过么?正常时配置有什么变化?

问题是aaa和bbb是同一套代码,或者说是同一个root,又该怎么办呢?

root /home/wwwroot/www.bbb.com/www.aaa.com; 这样难道不是同一个root?
www.aaa.com是在www.bbb.com的目录下的
你这个问题跟用二级域名做图床原理上一模一样

不是的,同一个root的意思是aaa的代码在/home/wwwroot/aaa下;bbb的代码也在/home/wwwroot/aaa下。

数据地带为您的网站提供全球顶级IDC资源