配置一:
location = / {
root /usr/share/nginx/myhtml;
index test.html;
}
location / {
root /usr/share/nginx/html;
index index.html;
}
错误提示:2016/12/26 06:03:52 [error] 35#35: *3 open() "/usr/share/nginx/html/test.html" failed (2: No such file or directory), client: 172.17.0.1, server: www.myweb.com, request: "GET / HTTP/1.1", host: "www.myweb.com"
问题:为什么匹配的是第二个条件?不是优先"="精准匹配的吗?
配置二:
location = /index.html {
root /usr/share/nginx/myhtml;
index test.html;
}
location / {
root /usr/share/nginx/html;
index index.html;
}
现象:
(一)访问www.myweb.com (nginx是在docker容器上使用的,修改了宿主机的host),显示的是/usr/share/nginx/myhtml/test.html的页面。
(二)访问http://www.myweb.com/index.html 返回404,错误:[error] 47#47: *7 open() "/usr/share/nginx/myhtml/index.html" failed (2: No such file or directory), client: 172.17.0.1, server: www.myweb.com, request: "GET /index.html HTTP/1.1", host: "www.myweb.com"
问题:访问 www.myweb.com 的时候不应该是匹配第二条规则吗?怎么会符合第一条的精准匹配?
访问http://www.myweb.com/index.html是找的 index.html 文件?而不是 index 配置的 test.html文件?那问题一里面的 index 配置为什么能起效果?