我想为我的应用启用HTML5模式。我已经把下面的代码的配置,如图所示在这里:
return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix = '!';
$routeProvider.when('/', {
templateUrl: '/views/index.html',
controller: 'indexCtrl'
});
$routeProvider.when('/about',{
templateUrl: '/views/about.html',
controller: 'AboutCtrl'
});
如您所见,我使用,$locationProvider.html5mode
并且更改了所有的链接ng-href
以排除/#/
。
问题
目前,我可以转到localhost:9000/
并查看索引页面,然后导航到其他页面,例如localhost:9000/about
。
但是,刷新localhost:9000/about
页面时会出现问题。我得到以下输出:Cannot GET /about
如果我看网络通话:
Request URL:localhost:9000/about
Request Method:GET
如果我先进入localhost:9000/
然后单击导航到的按钮,/about
我会得到:
Request URL:http://localhost:9000/views/about.html
完美呈现页面。
刷新时如何启用angular以获得正确的页面?