Angular HTML5模式和ui路由器返回403
Angular HTML5 mode and ui-router returns 403
我使用的是ui-router
和HTML模式。
但如果我重新加载页面或使用绝对URL,我会得到403。
这是我的Nginx重写:
location / {
try_files $uri $uri/ /index.html;
}
我添加了.htaccess
:
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]
</ifModule>
但它仍然不起作用。我的路线:
.config(["$locationProvider", function ($locationProvider) {
$locationProvider.html5Mode(true);
}])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/app/dashboard');
.state('app.dashboard', {
url: '/dashboard',
templateUrl: '/app/dashboard/dashboard.html',
})
.state('app.categories', {
url: '/categories',
templateUrl: '/app/category/category.html',
resolve: {
loadJs: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('/app/category/category.app.js');
}]
}
})
我已经在index.html
上设置了<base href="/">
如果我在仪表板中并重新加载它,它会返回403 Forbidden
我错过了什么?。
像这样更改您的第一个location
块:
location / {
index index.html;
# This is done because Angular doesn't perform a page refresh when using
# HTML5 mode, so all page refresh requests done, the sever render the 'index.html' file
try_files $uri /index.html;
}
相关文章:
- 节点导出返回一个空对象
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- AngularJS UI路由器不能像ng路由器那样工作
- 在异步内部函数返回 [UI-路由器和 HTML 服务] 之后返回外部 fn
- 在快速.js路由器函数中从 mongo 返回数据
- 铁:路由器工作很奇怪 - 将我发送到模板然后返回
- 如果 ui 路由器解析的一部分返回 true 或承诺,我如何编码它
- 显示 404 找不到“蛞蝓”模板,当发布返回空光标 - 流星 - 铁路由器
- Angular HTML5模式和ui路由器返回403
- 嵌套路由器不会返回下一个回调值为'route'
- 路由器:从canActivate方法返回的承诺中进行重定向
- 为什么导航栏返回按钮仍然用ActionConst显示.在反应式-本机-路由器-通量中替换
- 节点路由器.delete函数返回404 Not Found
- 如何在登录后返回到铁路由器的路由,当点击登录和不同的路由
- React路由器没有返回动态路径
- Meteor Iron路由器没有'如果数据返回null/undefined,则不调用onBeforeAction
- 反应路由器返回页面如何配置历史记录
- 返回 Angular 2 路由器的行为