簡體   English   中英

我應該如何構造AngularJS路由來處理URL重寫和頁面刷新?

[英]How should I structure my AngularJS routing to handle URL rewriting and page refreshes?

我正在使用AngularJS建立自己的網站。 我希望我的網站導航在沒有頁面瀏覽時存在的“瀏覽器閃爍”的情況下運行,例如,單擊index.html上的鏈接,該鏈接將您帶到foo.html 我還希望使用干凈的URL,例如,我可以轉到mysite.com/foo並讓瀏覽器在foo.html顯示內容。

Angular在HTML5模式下的客戶端路由是一種有效的解決方案,但也有例外:

如果轉到mysite.com ,則可以配置$routeProvider以將視圖映射到適當的部分(例如index.htmlfoo.html ),並修改瀏覽器顯示的URL。 但是,如果我通過直接在瀏覽器中鍵入URL來訪問mysite.com/foo ,則會收到404錯誤,因為服務器正在mysite.com/foo/中查找不存在的內容。 如果在Angular指向mysite.com/foo時刷新頁面,也會發生同樣的情況。

簡而言之,僅當從Angular應用程序中導航時,才能正確處理導航到mysite.com/foo

如何處理此問題,以便我的網站按照我想要的方式運行? 是否在404時使用PHP和/或mod_rewrite將瀏覽器重定向回mysite.com

本質上, 無論URL是由Angular設置還是在瀏覽器URL欄中手動鍵入 ,我都希望URL mysite.com/foo顯示mysite.com視圖+ foo.html部分。

是的,您需要類似mod_rewrite的東西。

http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/

暫無
暫無

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

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