js攻城狮 大佬有话说 :
为nginx平反 nginx文档没有错
本帖最后由 js攻城狮 于 2020-9-19 18:34 编辑
有人说nginx文档错了, 并没有, 错的是你不懂nginx.
首先你要明确root和try_files指令的用途, 写个测试:
location /testpath {
root /www;
try_files $uri =404;
return 200 "You visit file /www$uri";
}
访问你就知道了, 原来/testpath/a/b.txt对应的真实文件路径是root加上$uri, 就是/www/testpath/a/b.txt:
https://s1.ax1x.com/2020/09/19/wItFOK.png
所以很多时候就产生了404, 因为你其实是想发送/www/a/b.txt这个文件.
实际上, 要达到这种假路径效果, 用正则表达式会简单一些, 当然前提是你懂正则表达式:
location ~ /fakepath(/.*) {
root /www;
try_files $1 =404;
}
xlouspeng 大佬有话说 :
root的处理结果是:root路径+location路径
我给他回复了正确理解和例子,貌似石沉大海了
大屁股 大佬有话说 :
:lol:lol:lol:lol大佬们威武
llmwxt 大佬有话说 :
帮顶,技术大佬们的讨论,我靠边看看就好!
:lol:lol:lol
h20 大佬有话说 :
有的MJJ就是这样,发现了一点华生,就好像发现了不得了的东西,就说人家出错了,人家有BUG了
laogui 大佬有话说 :
跟大佬一起学习