2016-11-01 27 views
1

如何重定向以“/ admin”开头url重定向到/admin/index.html(单页面应用),另一个页面重定向到/index.html(其他单页面应用) 。Nginx多个“单页应用”路由

我的nginx.conf在这里

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

location /admin { 
    alias /usr/share/nginx/html/admin; 
} 

这是工作,但多层次的URL重定向到503错误。

样本:获得/管理/问题/ 1 - >失败503

样本:获得/管理/问题 - >失败503

样品获得/管理 - >确定

+0

据我理解你的问题是不关心正则表达式。并且最好不要放在serverfault? – JosefScript

+0

如何捕捉所有请求开始与“/管理”没有正则表达式? –

回答

0

我解决了它。

default.conf:

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

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

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

尽管如此,我认为这将工作没有正则表达式,“位置/管理员/”应该是足够的。但无论如何,如果它的工作... – JosefScript

+0

admin/index.html是一个单页的应用程序。网页中有很多路由网址(html5路由)。如果我从服务器调用www.example.com/admin/questions/1/categories,它必须返回一个admin/index.html。当客户端得到这个管理页面时,在客户端路由到/ questions/1/categories。 –