我正在使用Angular Routes来确定要向用户显示的视图,如下所示:
define(['angular', './app'], function(angular, app) {
'use strict';
return angular.module('app', ['ngRoute']).
config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl:'assets/partials/partial1.html',
controller: 'MyCtrl1'
}).when('/mada', {
templateUrl:'assets/partials/partial2.html',
controller: 'MyCtrl2'
})
.otherwise({redirectTo: '/'});
});
});
目前,路由工作但只是这样:localhost /#/ mada或localhost /#/ 我希望能够看到localhost / mada
我知道添加
$locationProvider.html5Mode(true);
会摆脱哈希。但是这仍然不能使用户转到:localhost / mada,因为它返回服务器404.
这可以实现吗?怎么样?
答案 0 :(得分:1)
如果您不使用服务器端语言,请将此代码放在html头中。
<base href="/">
喜欢:
<head>
<base href="/">
</head>
并将其放入配置块:
$locationProvider.html5Mode(true);
如果您使用的是服务器端语言,请使用以下代码:
app.get('*', function(req, res) {
res.render('index');
});
而不是
app.get('/', function(req, res) {
res.render('index');
});
并将此代码放在配置块中:
$locationProvider.html5Mode(true);