我正在设置一个nginx服务器来提供我index.html
中存储的/data/www/test/
页面。
这是我的配置文件(/etc/nginx/sites-enabled/default
):
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
location /test/ {
alias /data/www/test/;
index index.html;
}
}
我可以curl 0:80
查看/usr/share/nginx/html/index.html
的内容。
我可以curl 0:80/test/
查看/data/www/test/index.html
的内容。
但是当我curl 0:80/test
时,我得到了404。
我希望能够看到html是否输入/test
或/test/
。
有人可以解释一下这里发生了什么吗?
谢谢!
答案 0 :(得分:0)
就像请求/test
返回测试文件的格式一样,配置将匹配location /
并在root
路径中找到测试文件。 您可以尝试touch /usr/share/nginx/html/test
并再次访问/test
/test/
的请求将与location /test/
匹配,在内容阶段,它会在root/alias
指定位置查找索引文件。