我们想要像这样处理网址。
如果/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
)打开时,它无法正常工作
答案 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;
}