nginx 中root可以放到http,server,location,对于一个location中匹配的文件路径为root的路径+URL,如果一个url以/结尾,会被nginx看做是一个目录,默认会找对于location下的index.html文件,如果找不到就返回404,也可以开启在返回目录结构.
$geo
变量依赖于geo指令,依赖客户端ip
try_files尝试读取文件 ,按照参数顺序直到找到位置不然返回404
server {
root /www/data;
location / {
}
location /images/ {
}
location ~ \.(mp3|mp4) {
root /www/media;
}
location /images/ {
autoindex on;
}
location / {
index index.$geo.html index.htm index.html;
}
location /images/ {
try_files $uri /images/default.gif;
}
}
location / {
try_files $uri $uri/ @backend;
}
location @backend {
proxy_pass http://backend.example.com;
}
location / {
try_files $uri $uri/ $uri.html =404;
}
server {
root /www/data;
location /images/ {
try_files $uri /images/default.gif;
}
}