gpt4 book ai didi

html - 如何在 nginx 中提供 html 文件而不显示此别名设置中的扩展名

转载 作者:技术小花猫 更新时间:2023-10-29 12:06:55 25 4
gpt4 key购买 nike

我在 nginx 中设置这个别名以正确显示我的网站时遇到了很多麻烦。

我关注的网站应该可以从 mywebsite.com/mr 访问,并且与位于 mywebsite.com/ 的网站不同。该网站位于 /fullpath(为简单起见而缩短)该网站需要提供三种内容:

  1. 索引文件位于/fullpath/index.html
  2. 其他 html 文件(不在浏览器中显示 .html 扩展名)。
  3. 位于 /fullpath 和子目录中的静态 Assets (js/css/img)。

我尝试改变 try_files 中的匹配顺序,发现它们都有效的情况,只是不同时:

location /mr {
default_type "text/html";
alias /fullpath;

# with this one 1 and 3 work
# try_files $uri/index.html $uri.html $uri;

# with this one 2 and 3 work
# try_files $uri $uri.html $uri/index.html;

# with this one 1 and 2 work
try_files $uri.html $uri/index.html $uri;
}

当一个不工作时,它会出现 404。有人知道我如何正确处理各种文件吗?

最佳答案

显然是 alias 和 try_files don't work together .但是,我认为您不需要使用别名。

location /mr {
default_type "text/html";
try_files /fullpath/$uri /fullpath/$uri.html /fullpath/$uri/index.html /fullpath/index.html;
}

哪个会尝试:

  • 确切文件。
  • 添加了 .html 的文件。
  • 路径中的索引。
  • 默认索引。

我认为 root 指令确实适用于 try 文件,但我无法测试。

server{
location /mr {

root /home/mysite/fullpath;

default_type "text/html";
try_files $uri $uri.html $uri/index.html index.html;
}
}

关于html - 如何在 nginx 中提供 html 文件而不显示此别名设置中的扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15451191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com