Regex Nginx Multiple";单页应用程序“;路由

Regex Nginx Multiple";单页应用程序“;路由,regex,nginx,nginx-location,Regex,Nginx,Nginx Location,如何重定向到以“/admin”url重定向到/admin/index.html(单页应用)和其他页面重定向到/index.html(其他单页应用)开头 我的nginx.conf在这里 location / { if ( $allowed = "deny" ) { return 403; } try_files $uri /index.html; } location /admin { alias /usr/share/nginx/html/admin; } 这是工作,

如何重定向到以“/admin”url重定向到/admin/index.html(单页应用)和其他页面重定向到/index.html(其他单页应用)开头

我的nginx.conf在这里

location / {
    if ( $allowed = "deny" ) { return 403; }
    try_files $uri /index.html;
}

location /admin {
    alias /usr/share/nginx/html/admin;
}
这是工作,但多级url重定向到503错误

示例:get/admin/questions/1->fail 503

示例:get/admin/questions->fail 503

示例get/admin->ok

我解决了它

default.conf:

 root /usr/share/nginx/html;
 index index.html;

  location ~ ^/admin {       
    try_files $uri /admin/index.html;
  }

  location / {       
    try_files $uri /index.html;
  }

据我所知,你的问题与正则表达式无关。如果不使用regex,那么将它放在serverfault不是更好吗?如何捕获所有请求都以“/admin”开头?尽管如此,我认为如果没有regex,它仍然可以工作,“location/admin/”应该足够了。但无论如何,如果它能工作的话,admin/index.html是一个单页应用程序。页面中有许多路由url(html5路由)。如果我从服务器调用www.example.com/admin/questions/1/categories,它必须返回just a admin/index.html。当客户端获得此管理页面时,发送到客户端的/questions/1/categories。