Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从旧的非HTML5模式路由重定向到角模式下的新HTML5模式路由_Javascript_Angularjs - Fatal编程技术网

Javascript 从旧的非HTML5模式路由重定向到角模式下的新HTML5模式路由

Javascript 从旧的非HTML5模式路由重定向到角模式下的新HTML5模式路由,javascript,angularjs,Javascript,Angularjs,我想切换我的Angular应用程序以使用HTML5模式路由。但我还想将请求重定向到旧路由到新路由。当我尝试这个时,它不起作用。以下是我所拥有的: $routeProvider .when('/foo/browse', { templateUrl: '/app/foo-browse.html', controller: 'BrowseFoos' }) .when('/foo/#/browse', { redirectTo: '

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

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

$locationProvider.html5Mode(true);
但是当我像这样在浏览器中输入url时http://localhost/foo/#/browse它被编码,但没有正确重定向(在浏览器的url栏中看起来像这样:
http://localhost/foo/#%2Fbrowse


我能做些什么来解决这个问题吗?

我最后添加了一个快速而肮脏的js重定向,并结束了这一天。我把它放在我的html>头标签中:

<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>

(函数redirectoldcriptyhashbasedurls(){
"严格使用",;
var href=window.location.href;
如果(href.indexOf('/myapp/#/')!=-1){
href=href.replace(“/my-app/#/”,“/my-app/”);
window.location=href;
}
})();

我最后添加了一个又快又脏的js重定向并结束了它。我把它放在我的html>头标签中:

<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>

(函数redirectoldcriptyhashbasedurls(){
"严格使用",;
var href=window.location.href;
如果(href.indexOf('/myapp/#/')!=-1){
href=href.replace(“/my-app/#/”,“/my-app/”);
window.location=href;
}
})();

您是否启用了html5路由@程序员是的,我最近启用了它,现在我想仍然支持指向我的哈希链接的旧链接。你有启用html5路由吗@程序员是的,我最近启用了它,现在我希望仍然支持指向我的散列链接的旧链接。