如何解决在AngularJS 1.2中启用HTML 5模式
如果您正在使用html5mode
,则需要在服务器端进行更改,以index.html
在任何URL请求上返回入口点(主应用程序页面)。然后,角度应用程序将解析URL并加载所需的页面。
解决方法
我正在开发一个需要使用HTML 5模式的应用程序。由于我要迁移现有站点以使用AngularJS
1.2,因此我的URL中不能包含“#”标记。目前,我有以下内容:
angular.module('myApp',['ngRoute']).
config(['$routeProvider','$locationProvider',function($routeProvider,$locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/home",{templateUrl:'home.html',controller:'homeController'})
// other routes are defined here..
.otherwise({redirectTo: '/home'});
}]);
不幸的是,当我访问“ http://myServer/home
”时,启用html
5模式后,我的应用程序无法正常工作。我得到404。但是,当我访问http://myServer/
它时,它可以工作。当我启用html5模式时,它就像深层链接不起作用。如果我注释掉“
$
locationProvider.html5mode(true);”这一行,则该站点将运行。但是,再次,由于我要迁移现有站点,因此我的URL中没有哈希标签。
我是否误解了html5mode(true)的工作方式?还是我做错了什么?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。