nginx

时间:2015-06-24 16:54:28

标签: nginx

我们想要像这样处理网址。

如果/admin,请打开登录页面(/admin/dev/views/landing/index.html)。

如果网址为/admin/users,则打开网页(/admin/dev/views/adminAccount/index.html) ,网址是/admin/*,即/admin/users/admin/cameras等等。/ admin / *后我们必须打开此文件(/admin/dev/views/adminAccount/index.html)我们使用{/admin/dev/views/adminAccount/index.html中的Angularjs处理路由1}},所以如果在/ 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)打开时,它无法正常工作

1 个答案:

答案 0 :(得分:1)

要获得完全匹配,您需要使用“=”

当我试用它时,外卡不起作用,但只使用没有“=”的正常匹配。此外,我认为您不需要索引语句或在确切的网址匹配下检查现有文件。

# 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;
}