记一次解决“Nginx 修改root路径后无法生效”的问题解决历程。
在使用Nginx搭建一个静态网站的时候,想要通过让Nginx转发某个请求到后台的指定静态文件,最初修改的Nginx的部分配置如下:
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html;
}
# ...
location /login.html {
root www;
}
location /js/agree.js {
root www;
}
}
和Nginx安装目录同一级,负责展示前端页面的有两个文件夹:html
和www
。其中html
是Nginx默认就有的,存放一些Nginx默认展示的前端页面。www
是我创建的,用于存放我想搭建的那个网站的前端页面代码。
网站的登陆页面 login.html 倒是可以正常展示,资源的寻找路径也正常,即:www/login.html
。但是通过 login.html 请求的 /js/agree.js 的寻找路径却没有按照我预想的发展,它的资源寻找路径按理来说应该是:www/js/agree.js
,因为我已经在Nginx配置文件(nginx.conf)中添加了对应的location
块,在location
块中指明了root
为www,但是实际上 agree.js 的寻找路径却是:html/js/agree.js
。
这个问题让我很费解ÿ