簡體   English   中英

使用angular-ui-router處理沒有hashbang的路由

[英]Handling routes without hashbang using angular-ui-router

我在網上搜索了很多答案,但還沒有找到任何答案。

現在我在我的文件中有這個代碼,我認為除了我指定的那些之外我還會處理所有路由/狀態:

$urlRouterProvider.otherwise('/');

但是,此功能僅適用於localhost:1337/#/stuff類的路徑,但如果我輸入localhost:1337/stuff ,我會收到一個丑陋的內部服務器錯誤。

理想情況下,我喜歡localhost:1337/stuff或沒有hashbang的任何其他URL重定向到localhost:1337/#/ (我的應用程序的主頁)。

有關如何實現這一目標的任何想法?

你需要設置兩件事:

  1. AngularJS配置中的所謂“ html5Mode ”。 這是最簡單的部分: $locationProvider.html5Mode(true);
  2. 在您的服務器上設置重寫,以便任何請求只呈現您的主html頁面。

來自AngularJS 關於路由的文檔

使用此模式需要在服務器端重寫URL,基本上您必須重寫所有鏈接到應用程序的入口點(例如index.html)。

您可以在app.js中啟用html5模式,這也將從您項目中的鏈接中刪除hashbang( localhost:1337/stuff而不是localhost:1337/#/stuff )。

如果這不是您想要的行為,那么您將不得不在服務器端進行重寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM