Rumah  >  Soal Jawab  >  teks badan

Pelayan - Bagaimana untuk menetapkan direktori sebagai nama domain peringkat kedua dalam nginx?

Andaikan nama domain ialah domain.com,

Cara mengkonfigurasi nginx.conf, 实现 访问 abc.domain.com 的时候实际是 domain.com/abc的内容
(浏览器的地址仍然显示成abc.domain.com )

Konfigurasi yang dicari di Internet ini tidak berguna:

location / { 
    set $domain default; 
    if ( $http_host ~* "^(.*)\.domain\.com$") { 
                  set $domain ; 
    } 
    rewrite ^/(.*)    /$domain/ last; 
}
巴扎黑巴扎黑2713 hari yang lalu473

membalas semua(3)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:17:55

    Bahagian penting:

    server
    {
        listen   80;
        server_name   www.domain.com;
        root   /var/www/html;
        index  index.php index.html index.htm;
    
        location /abc
        {
            if ( $host !~* "abc.domain.com" )
            {
                return 404;  #防止有人访问www.domain.com/abc看到abc二级域名的页面,只允许访问abc.domain.com查看
            }
        }
    }
    
    server
    {
        listen   80;
        server_name   abc.domain.com;
        root   /var/www/html/abc;
        index  index.php index.html index.htm;
    
        location /
        {
            #一些配置
        }
    }

    balas
    0
  • 高洛峰

    高洛峰2017-05-16 17:17:55

    location / { 
        #申明domain变量 
        set $domain default;
        #正则提取出二级域名
        if ( $http_host ~* "^(.*)\.domain\.com$") { 
            #把二级域名赋值给domain变量
            set $domain ; 
            #设置rewrite规则,把/下的所有请求转发到http://domain.com/$domain/下。
            rewrite ^/(.*)$    http://domain.com/$domain/ last; 
        } 
    
    }

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 17:17:55

    Hanya bina pelayan lain! Ia sangat rumit, baik biasa dan ditulis semula.

    balas
    0
  • Batalbalas