nginx服务器通过server让域名访问二级目录

在/etc/nginx/sites-enabled/default文件里可以修改默认信息

首先在解析一个二级域名:

现在我们要做的就是让oj.starry97.cn  访问starry97.cn/oj 

打开default文件  sudo vi default

输入一下信息:

 1 server {
 2         listen 80;
 3         #listen [::]:80 default_server ipv6only=on;
 4 
 5         root /var/www/oj;
 6         index index.php index.htm;
 7         server_name oj.starry97.cn;
 8 
 9         location / {
10                 try_files $uri $uri/ =404;
11         }
12 
13         location ~ .php$ {
14                 fastcgi_split_path_info ^(.+.php)(/.+)$;
15                 fastcgi_pass unix:/var/run/php5-fpm.sock;
16                 fastcgi_index index.php;
17                 include fastcgi_params;
18         }
19 }

这个server其实就是复制里面的主server,一开始default里面有一个server,是指向starry97.cn  的  我们可以复制这个,然后修改主要信息就可以了。

也可以在第一个server里添加下面这个禁止别人通过starry97.cn/oj访问

 location /oj
    {
        if ( $host !~* "oj.starry97.cn" )
        {
            return 404;  #防止有人访问starry97.cn/oj看到oj二级域名的页面,只允许访问oj.starry97.cn查看
        }
    }

 最后需要重新加载下配置文件就行了:

sudo nginx -s reload

不同版本的Nginx好像默认的server不同,但大概就是这样的。   关键是root和server_name这两个需要改下。

原文地址:https://www.cnblogs.com/xingkongyihao/p/8288664.html