在 Nginx 中提供静态 HTML 文件而不在 url 中扩展

mic*_*al 6 webserver nginx httpserver

根目录 = /srv/myproject/xyz/main/

在“主”文件夹中,我有几个 *.html 文件,我希望它们都指向一个 url 说/test/(这与目录结构完全不同)

这是我非常基本的 nginx 配置

server {
    listen                80;
    error_log   /var/log/testc.error.log;

    location /test/ {
         root   /srv/myproject/xyz/main/;
         #alias /srv/myproject/xyz/main/;
         default_type   "text/html";
         try_files  $uri.html ;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用简单别名

location /test/ {
       alias /srv/myproject/xyz/main/;   
}
Run Code Online (Sandbox Code Playgroud)

那么它的工作完美,我的意思是我可以通过http://www.myurl.com/test/firstfile.html等等访问这些html文件

但我不想要那个 html 扩展。

我试图遵循这些线程但没有成功 http://forum.nginx.org/read.php?11,201491,201494

如何使用 NGINX 从 url 中删除 .php 和 .html 扩展名?

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

Sud*_*ead 6

尝试这个

location ~ ^/test/(.*)$ {
    alias /srv/myproject/xyz/main/;
    try_files $1.html =404;
}
Run Code Online (Sandbox Code Playgroud)