【问题标题】:Nginx Multiple "Single Page App" routingNginx 多个“单页应用”路由
【发布时间】:2017-03-14 12:36:57
【问题描述】:

如何重定向到以“/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 错误。

示例:获取 /admin/questions/1 ->失败 503

示例:获取 /admin/questions -> 失败 503

示例获取 /admin -> 好的

【问题讨论】:

  • 据我了解您的问题与正则表达式无关。放在 serverfault 上不是更好吗?
  • 如何在没有正则表达式的情况下捕获所有以“/admin”开头的请求?

标签: regex nginx nginx-location


【解决方案1】:

我解决了。

default.conf:

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

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

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

【讨论】:

  • 我仍然认为它可以在没有正则表达式的情况下工作,“location /admin/”应该足够了。但无论如何,如果它有效......
  • admin/index.html 是一个单页应用程序。页面中有很多路由url(html5路由)。如果我从 server 调用 www.example.com/admin/questions/1/categories ,它必须返回一个 admin/index.html 。当客户端获取此管理页面时,在客户端路由到 /questions/1/categories。
猜你喜欢
  • 2019-03-05
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-17
相关资源
最近更新 更多