我想为我的应用程序启用 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
页面时,问题出现了
如果我看看网络呼叫:
Request URL:localhost:9000/about
Request Method:GET
然而,如果我首先到 localhost:9000/
,然后点击一个导航到 /about
的按钮,我会得到:
Request URL:http://localhost:9000/views/about.html
这样页面就完美地呈现出来了。
当我刷新的时候,我如何使角度得到正确的页面?