假设nginx.conf里有如下配置:

    1. server{
    2. listen 80;
    3. server_name localhost;
    4. location / {
    5. root /usr/share/nginx/html;index index.html index.htm;
    6. }
    7. location /project1{
    8. root /home;
    9. index index.html index.htm;
    10. }
    11. location /project2{
    12. alias /home/page2;
    13. index index.html index.htm;
    14. }
    15. }

    location 中root和alias的区别:

    root:不会丢弃location匹配模式的路径,一般用于资源文件。
    实际路径:root路径 + location匹配路径 + 请求末尾路径
    如: 访问/project1/a.txt,实际会去找/home/project1/a.txt。

    alias:会丢弃掉locationn匹配模式的路径,可以根据不同的路由访问不同的项目。
    实际路径:alias路径 + 请求末尾路径
    如: 访问/project2/a.txt,实际访问/home/page2/a.txt,他舍弃了/peoject2这一段。