嗨大家好,前陣子我在解決了spa
的url
重寫問題,也順利的解決了,但很好奇為什麼得特定將webconfig的rewrite啟動,才有辦法輸入網址就進入該載入的頁面?
這是single page
先天的設計缺陷嗎?還是讓這個特性保留對於效能之類的很有幫助,我相信大部分的人第一次部署應該都會先遇到這些問題qq
如果不是缺陷,那為什麼angular
要在原先就把hash
與tracretree
功能這定成false呢?
自己有再用 angular 的路由,
只有設定預設頁面,例如輸入 http://www.aaa.tw/
導入 index.html,
然後之後都由 angular 的路由接管
這問題之前有遇到,大致上是這樣,
如果usehash為true的話,網址多一個#,這樣angular可以很簡單的知道,
server的目錄到哪邊,#後面開始就是控管部份。
但如果userhash為false,則就需要後端有rewrite功能,
來幫助angular識別說,dns對應的目錄到哪邊,後面才是開始需要控管的部份。
不然如果call api的時後,http://aaa.bbb.com/a/b/api/homes
,
angular怎麼知道其實http://aaa.bbb.com/a/b/
都還只是server上的目錄,
而api這邊開始才是進入到server code中。
這是我的淺解,我不是很會用一些專有名詞,但大概是這樣。