V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
s1mon
V2EX  ›  NGINX

nginx 某一域名 CNAME 到另一个二级域名下, 404

  •  
  •   s1mon · 2015-04-15 07:45:51 +08:00 · 4900 次点击
    这是一个创建于 3301 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已有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 $uri $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;
    }
    
    13 条回复    2015-04-25 06:37:16 +08:00
    kchum
        1
    kchum  
       2015-04-15 09:21:40 +08:00 via iPhone
    ryd994
        2
    ryd994  
       2015-04-15 09:28:42 +08:00 via Android
    aaa裸域名能cname?
    world
        3
    world  
       2015-04-15 09:35:15 +08:00
    你有没有在域名解析里面添加aaa.bbb.com的解析,另外是否已在nginx里添加了aaa.bbb.com这个域名?
    把aaa.com通过CNAME指向到aaa.bbb.com相当于aaa.com是bbb.com的一个二级域名。
    huson
        4
    huson  
       2015-04-15 10:33:50 +08:00
    看下日志先
    lululau
        5
    lululau  
       2015-04-15 10:35:49 +08:00
    2 L 正解
    s1mon
        6
    s1mon  
    OP
       2015-04-15 16:50:34 +08:00
    @world bbb.com的解析中是有一条A记录aaa.bbb.com到bbb.com的IP的,nginx里面也添加了这个域名如上面的conf文件中所示,为什么还是不行呢,是不能把一级域名作为另一个一级域名的二级域名吗?
    s1mon
        7
    s1mon  
    OP
       2015-04-15 16:51:24 +08:00
    @ryd994 请教下应该是怎样呢?
    world
        8
    world  
       2015-04-15 18:02:05 +08:00
    root /home/wwwroot/www.bbb.com;
    如果你是把aaa.com当做bbb.com的子域名的话,这一段正确应该是写成
    root /home/wwwroot/www.bbb.com/www.aaa.com;
    zhicheng
        9
    zhicheng  
       2015-04-15 18:55:31 +08:00 via Android
    CNAME 并不影响 HTTP 的 Host 。
    ryd994
        10
    ryd994  
       2015-04-15 21:12:14 +08:00 via Android
    @s1mon 裸域名不能为cname这是规定
    你看errorlog怎么说
    而且 location ~ [^/]\.php(/|$)算几个意思?.php文件夹下么?或者文件名为.php么!
    以前正常过么?正常时配置有什么变化?
    s1mon
        11
    s1mon  
    OP
       2015-04-23 11:48:46 +08:00
    @world 问题是aaa和bbb是同一套代码,或者说是同一个root,又该怎么办呢?
    world
        12
    world  
       2015-04-23 14:41:37 +08:00
    @s1mon root /home/wwwroot/www.bbb.com/www.aaa.com; 这样难道不是同一个root?
    www.aaa.com是在www.bbb.com的目录下的
    你这个问题跟用二级域名做图床原理上一模一样
    s1mon
        13
    s1mon  
    OP
       2015-04-25 06:37:16 +08:00
    @world 不是的,同一个root的意思是aaa的代码在/home/wwwroot/aaa下;bbb的代码也在/home/wwwroot/aaa下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4934 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:48 · PVG 17:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.