10.8 location
创建一个前台站点
server { listen 80; server_name www.nginx.com; locaiton / { root /var/www/html/www; } }
创建一个后台站点
server { listen 80; server_name admin.nginx.com; locaiton / { root /var/www/html/admin; } }
root与alias
alias 定义路径别名
location ^~ /t/ { alias /www/root/html/new_t/; } 如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
location [= | ~ | ~* | ^~ ] uri {...} = 精确匹配,匹配成功就停止向下匹配 ^~ 匹配最左部分,不区分大小写(支持正则) ~ 区分大小写 (支持正则) ~* 不区分大小写(支持正则) 不带符号 匹配始于此uri的所有uri \ 转义(支持正则) 匹配优先级 = ^~ ~/~* 不带符号
精确匹配
location = /logo.jpg { root /var/www/html; }
区分大小写
location ~ /A.?\.jpg { root /var/www/html; } http://localhost/Aa.jpg http://localhost/aa.jpg
不区分大小写
location ~* /A.?\.jpg { root /var/www/html; } http://localhost/Aa.jpg http://localhost/aa.jpg
URI开始
location ^~ /images { root /data/nginx/; } location /api { root /data/nginx/api; }
文件名后缀
location ~* \.(gif|jpg|jpeg|bmp|js|css)$ { root /var/www/html/static; }
优先级
location = /1.jpg location /1.jpg locaiton ~* \.(gif|jpg)$