【发布时间】:2015-02-26 18:02:14
【问题描述】:
我创建了一个使用 ur-router 的 AngularJS 应用程序。这是配置的一个小示例:
$locationProvider.html5Mode(true);
var admin = {
name: 'admin',
url: '/Admin',
views: {
'root': {
templateUrl: '/app/admin/partials/home.html',
},
'content': {
templateUrl: '/app/admin/partials/overview.html',
}
}
};
var adminContent = {
name: 'admin.content',
parent: 'admin',
url: '/:content',
views: {
'root': {
templateUrl: '/app/admin/partials/home.html',
},
'content': {
templateUrl: function (stateParams) {
return '/app/admin/partials/' + stateParams.content + '.html';
},
}
}
};
当我启动应用程序时一切正常,然后通过链接转到 /Admin,然后我转到参考链接,它会打开页面:
http://xx.com/Admin/reference
当我单击浏览器返回按钮时,它会按预期返回到上一页。
但是,如果我现在进行刷新,一切都会出错。它忘记了 ui-router 并尝试查找页面:xx.com/Admin/Reference
作为参考,我正在使用:@version v0.2.13
我的索引文件如下所示:
<head>
<base href="/" />
有人可以给我一些关于我做错了什么的建议吗?
【问题讨论】:
-
这可能是您的服务器配置造成的。您应该将所有内容重定向到主页。您也可以尝试使用
<base>标签 -
我更新了问题以显示
标签。您能解释一下“将所有内容都重定向到主页”是什么意思吗?我有点担心的一件事是,我在服务器端可以做的事情受到限制,因为它使用的是 Amazone Cloudfront,其中每个页面都只是一个文件,唯一的默认设置是我可以选择 index.html 作为如果我只是输入 www.xx.com 的启动文件
标签: angularjs angular-ui-router