我有一些在通用TTP子域下都可以進行深層鏈接的圖形用戶界面。特別是URL/TTP/app/網站 /應該加載GUI命名爲app與網站的統計數據。與/ ttp/應用程序加載相同的GUI與默認站點。支持位置正則表達式和try_files的深度鏈接,不能重定向到foo/local /到foo/index.html
這應該通過重定向都/ TTP/應用和/ TTP/應用/網站 /請求到/ usr /共享/ HTML/TTP/應用 /index.html頁面,該工作頁面將解析剩餘的網址,並找出哪個支持點擊,如果網站提供。
目前,我有這樣的事情在我的conf文件(我使用嵌套的位置這裏不包括其他的東西):
location /ttp {
root /usr/share/nginx/html/ttp/;
location ~ ^/foo/ {
try_files $uri $uri/ /foo/index.html;
}
location ~ ^/bar/ {
try_files $uri $uri/ /bar/index.html;
}
... (one for each app)
}
這個工作,但是多餘的。我試圖用一個正則表達式來整合它,它將覆蓋所有具有單一位置的應用程序。我已經嘗試了幾個變體,原來有貪婪的正則表達式搶佔所有/ 應用程序/網站 /而不是/ 應用程序 /。我與非貪婪正則表達式是
location /ttp {
index index.html
root /usr/share/nginx/html/ttp/
location ~ ^/((?U).*)/ {
try_files $uri /$1/index.html;
}
}
最好的嘗試這給我關於重寫或內部重定向循環錯誤而內部重定向TI「/ttp/index.html」這似乎意味着它不夠貪婪和完全忽略應用程序,其中$ 1爲空字符串。
有沒有一些乾淨的方式來做到這一點,與正則表達式或我不知道的一些指令?