0
我被困在一個循環中。我正在使用金字塔> Nginx> AngularJS,這是我多年來一直使用的很棒的組合。但是,我想出了一個問題,試圖根據查詢字符串插入臨時重定向。這裏的請求的處理方式:Nginx路由AngularJS和HTML5Mode
- 瀏覽器請求http://foo.com/bar
- Nginx的檢測缺乏所需的查詢參數,並暫時重定向到另一個域(其中用戶在調查中填寫)
- 當用戶提交調查,他們將返回到Nginx,這次是查詢參數。如http://foo.com/bar?foo=bar
- Nginx的看到所需要的PARAM並將請求轉發到金字塔代理
- 金字塔拋出一個HTTPNotFound錯誤,這是我們想要的東西,並使用302重定向http://foo.com/#/bar?foo=bar。這樣,AngularJS將接管路由並停止向服務器發送請求。 ----這是問題發生的地方。在這一點上,用戶被重定向回調查,因爲Nginx忽略了散列之後的所有內容,當然,將它當作片段對待。不幸的是,這意味着查詢字符串消失了,Nginx再次應用調查重定向。
我改變了金字塔302通過移動哈希和/條段到查詢字符串的右側。這確實通過Nginx獲取查詢字符串,但是AngularJS不再解釋哈希值,也不應用/ bar路由。
我希望對某人有意義。任何線索將不勝感激。