[英]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.html
或foo.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.