我正在为我的应用使用角度
我想从网址中删除#,所以我按SO answer
中的建议添加了以下行$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
在index.html中,我还按照建议here
添加了以下代码<head>
<base href="/">
</head>
当我从家中导航到页面时,一切正常,但是当我复制网址并在新标签页中打开它时,它会抛出404 error
示例
当我启动应用时,它正在打开http://localhost:portno/home
。
当我刷新页面时,我收到404错误。
我应该做什么其他配置?
我的代码结构如下
.state('tab.home', {
url: '/home',
views: {
'tab-home': {
templateUrl: 'templates/tab-home.html',
controller: 'templeHome'
}
}
})
.state('tab.list', {
url: '/list',
views: {
'tab-home': {
templateUrl: 'templates/list.html',
controller: 'templeList'
}
}
})
答案 0 :(得分:1)
您需要在服务器上添加route
,将您重定向到前端的入口点(即:index.html
)。
例如,如果您从家中重定向到http://localhost:portno/foo/bar
,则您需要route
来匹配将/foo/bar
重定向到您index.html
的{{1}} }}
它的迁移看起来像这样(请注意,这是我自己为Hapi编写的示例代码):
server.route([
{
method: 'GET',
path: '/foo/bar',
handler: function(request, reply) {
reply.file('./public/index.html');
}
}
...