设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 41|回复: 3

为nginx平反 nginx文档没有错

[复制链接]

50

主题

929

回帖

2042

积分

金牌会员

积分
2042
发表于 2020-9-19 18:32:38 | 显示全部楼层 |阅读模式
本帖最后由 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:



所以很多时候就产生了404, 因为你其实是想发送/www/a/b.txt这个文件.

实际上, 要达到这种假路径效果, 用正则表达式会简单一些, 当然前提是你懂正则表达式:

location ~ /fakepath(\/.*) {
        root /www;
        try_files $1 =404;
}




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

78

主题

4656

回帖

9594

积分

论坛元老

积分
9594
发表于 2020-9-19 18:34:17 | 显示全部楼层
root的处理结果是:root路径+location路径

我给他回复了正确理解和例子,貌似石沉大海了
回复

使用道具 举报

13

主题

165

回帖

399

积分

中级会员

积分
399
发表于 2020-9-19 18:38:00 | 显示全部楼层
跟大佬一起学习
回复

使用道具 举报

170

主题

849

回帖

2264

积分

金牌会员

积分
2264
发表于 2020-9-19 18:33:44 | 显示全部楼层

h20 发表于 2020-9-19 18:34

有的MJJ就是这样,发现了一点华生,就好像发现了不得了的东西,就说人家出错了,人家有BUG了
...

咋看咋像老领导讲话
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2026-2-14 03:51 , Processed in 0.014698 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表