Url 在 nginx 中处理问题

Url handling issue in nginx

我们希望 url 这样处理。

如果/admin则打开页面进行登录(/admin/dev/views/landing/index.html)。

如果Url是/admin/users则打开页面(/admin/dev/views/adminAccount/index.html) ,url 是任何东西 /admin/*/admin/users,/admin/cameras 等等 /admin/* 之后的任何东西我们必须打开这个文件 (/admin/dev/views/adminAccount/index.html) 我们处理路由使用Angularjs 在 /admin/dev/views/adminAccount/index.html 中,所以如果 /admin/* 之后有任何东西我们想打开 /admin/dev/views/adminAccount/index.html

我们这样做了,但它不起作用

location /admin {
        index /admin/dev/views/landing/index.html;
        try_files $uri $uri/ /admin/dev/views/login/index.html;
    }

    location /admin/* {

        try_files $uri $uri/ /admin/dev/views/adminAccount/index.html;
    }

但是当我尝试 http://localhost:8585/admin/user-list 登录页面时它不起作用,即 (/admin/dev/views/login/index.html) 打开

对于完全匹配,您需要使用“=”

另外,当我尝试时那个通配符没有用,但是使用没有“=”的普通匹配就可以了。此外,我认为您不需要该索引语句或检查精确 url 匹配下的现有文件。

# this matches only /admin
location = /admin {
    try_files $uri /admin/dev/views/login/index.html;
}

# this matches anything under /admin/*
location /admin {
    try_files $uri $uri/ /admin/dev/views/adminAccount/index.html;
}