2016-11-01 23 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。 –