Asp.net

AngularJS 和 ASP.Net 中的單頁應用程序執行良好,但是當我在瀏覽器中刷新頁面時出現 404 錯誤

  • August 19, 2017

所以我設置了一個 HTML5 單頁應用程序,它執行良好。該頁面位於/App/,當有人進入內容時,它看起來像/App/Content/1234.

一個問題:如果使用者刷新頁面,伺服器將找不到該 URL,因為它實際上並不存在。如果我將它們發送到/App/#/Content/1234,它們是金色的,但是最好的方法是什麼?我在 /App 下有很多不同風格的 URL。

全域擷取任何請求~/App/(.*)並將其重定向到的最佳方法是什麼~/App/#/$1

在 MVC 中註冊的唯一路由是標準的 OOTB 路由。

聽起來您的伺服器沒有將 url 重寫為應用程序的基本 URL。

Web 伺服器上所需的 URL 重寫取決於伺服器。對於 Apache,您將使用 mod_rewrite。

相反,將 Angular 切換到“Hashbang 模式”(預設),這樣 url 將全部儲存在 url 中 # 之後的本地狀態。

我不希望我的應用程序需要更改伺服器配置,所以我推薦 hashbang 模式。

請參閱AngularJS 文件。請參閱“Hashbang 和 HTML5 模式”部分 HTML5 模式部分描述了支持 URL 的 HTML5 模式所需的所有配置問題。

引用自:https://stackoverflow.com/questions/11787795