gpt4 book ai didi

javascript - 在 Angular 中从旧的非 html5Mode 路由重定向到新的 html5Mode 路由

转载 作者:行者123 更新时间:2023-11-28 04:49:42 27 4
gpt4 key购买 nike

我想将我的 Angular 应用程序切换为使用 html5Mode 路由。但我也想将旧路由的请求重定向到新路由。当我尝试这个时,它不起作用。这是我所拥有的:

$routeProvider
.when('/foo/browse', {
templateUrl: '/app/foo-browse.html',
controller: 'BrowseFoos'
})
.when('/foo/#/browse', {
redirectTo: '/foo/browse'
});

$locationProvider.html5Mode(true);

但是当我像这样在浏览器中输入网址时 http://localhost/foo/#/browse 它会被编码并且不会正确重定向(在浏览器的网址栏中看起来像这样:http://localhost/foo/#%2Fbrowse)

我可以采取一些特殊措施来解决这个问题吗?

最佳答案

我最终添加了一个快速而肮脏的 js 重定向,然后就到此为止了。我把它放在我的 html>head 标签中:

<script>       
(function redirectOldCrustyHashBasedUrls() {
'use strict';
var href = window.location.href;
if(href.indexOf('/my-app/#/') !== -1){
href = href.replace('/my-app/#/', '/my-app/');
window.location = href;
}
})();
</script>

关于javascript - 在 Angular 中从旧的非 html5Mode 路由重定向到新的 html5Mode 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43034225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com