nginx之alias配置---root与alias区别

########

server{
        listen 9002;
        server_name 192.168.119.140;
        client_max_body_size 1024M;

        location / {
                root /home/shiyongbin/html;######项目一
                index index.html;
                try_files $uri $uri/ @router;
        }
        location @router {
                rewrite ^.*$ /index.html last;
        }
     ##############
        location /tangbao/ {
                alias /home/shiyongbin/ceshihtml/;######指向另一个html页面
                index index.html;
        }
        ###################################################
}

 

nginx的静态文件配置中,root和alias指令都能实现。为了避免混淆,尽量不要写没有根路径的url模式,即避免 static/这样的开头,根路径斜杠需要保留,没有根路径其实也很奇怪。

root和alias的区别主要在于替换的部分,root模式中,会把root配置的路径替换匹配后的url中的host。alias则把他指定的路径,替换url中匹配的部分。指令中的斜杠对于root指令没有影响,对于alise则按照替换规则匹配即可。

root 指令

location /dir/ 
root root_path ->  http://host/dir/file.txt  -> root_path/dir/file.txt

alias 指令

location /dir
alias alias_path ->  http://host /dir /file.txt  -> alias_path/file.txt

location /dir/ 
alias alias_path/ ->  http://host /dir/ file.txt  -> alias_path/file.txt

了解了root和alise之后,通常最佳实际是配置一个项目的根root,其他的文件夹则使用alias,毕竟alias更加灵活。

 

 

posted @ 2022-01-26 12:20  卜闻卜问卜听卜在乎  阅读(497)  评论(0编辑  收藏  举报