如题:

留意我上面的红色框 文件地址 和 sublime ngingx.conf 没有原点表示已经保存
下面是 css js的统一代理到 localhost:8081下 (8081开启的是我后台的服务器 但是该无服务器对应路径并没有对应的js css文件) 所以按道理 如果浏览器 走了nginx代理 css js 是不会成功加载的
但是:

可以看出 配置确实没有生效 还是localhost:80
我怀疑是我改了 nginx.conf 没有重新启动nginx
所以现在我再去试一下

结果如第二张图 一样还是成功的 并且还是localhost:80
当然还有一种可能就是 我配置 css js 的location没有生效 而是直接用的html里的url拼接跳转

所以我们把location删除 再试试
结果还是成功
我们再把href里的路径改下 确定是否是这里url的作用
注意我们这次直接改的html文件 并没有重启nginx

我们在static后面加了个3 发现404
由此可见确实是href 起的作用
最后通过这个href 可以发现 上面的url是跟着nginx / 的根目录下 相加而来的
例如
我js 的path
E:\Program Files\nginx-1.12.2\html\static\js\xxxx.js
location /{
root html;//意味着 / 匹配到html下
}
所以我们href 为/static/xxx/zzz.js时
最后的路径为
localhost/static/xxx/zzz.js
但是是去本机的html/static 里去找的
最后判断一下 /static/中 前面/ 的影响
不加变成了这样


所以 前面加上/表示在templates 本级目录或者说html下级目录找
不加表示在templates 下级目录找
下面是玄学问题:

这个地方来的js
和我本地的不一样 我晕
重启试试
成功了
SO 为什么 html可以不用重启生效 而js 就要 。。。。。
然后为什么调用的还是80端口的

玄学???
然后发现

是浏览器缓存吗。 。。清除试试
真的是浏览器缓存 我干

博主在本文中探讨了Nginx配置更改后,静态资源(如CSS和JS)加载未生效的问题。他们发现即使没有重启Nginx,HTML文件的更改仍能即时生效,而JS文件则需要清除浏览器缓存才可见更新。通过实验,确认了URL路径、Nginx配置以及浏览器缓存对资源加载的影响,并强调了正确理解和管理这些因素的重要性。
776

被折叠的 条评论
为什么被折叠?



