AngularJS:当使用启用Html5模式的Angular Ui Router时,页面加载失败
AngularJS: Page reload fails when using Angular Ui Router with Html5 mode enabled
我在我的Angular应用中使用的是Angular UI Router,并且我已经启用了HTML5模式,通过在配置中使用$locationProvider来删除URL中的#。
angular.module('myApp', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: 'views/home.html',
controller:'HomeController'
})
.state('about', {
url: '/about',
templateUrl: 'views/about.html',
controller:''
})
.state('skills', {
url: '/skills',
templateUrl: 'views/skills.html',
controller: ''
})
.state('projects', {
url: '/projects',
templateUrl: 'views/projects.html',
controller: 'ProjectsController'
})
.state('contact', {
url: '/contact',
templateUrl: 'views/contact.html',
controller: ''
});
$locationProvider.html5Mode(true);
});
我还设置了
<base href="/">
标记也在index.html
文件中。路由工作正常,我可以导航到页面和#被删除,但当我使用浏览器上的重新加载按钮刷新页面时,我得到一个404错误页面。
我正在使用Webstorm IDE进行开发。有人能为我提供一个解决方案吗?
启用HTML5模式你的url哈希#变成了哈希#!然后它在浏览器上返回url而不带hashbang。虽然浏览器上的url是
http://www.example.com/about
实际的hashbang url是这样的:
http://www.example.com/#!/about
尝试根据此更改您的htaccess文件。它应该位于index.html所在的公共目录,
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
相关文章:
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- Angular JS/UI Router:为给定状态禁用指令
- 使用AngularJS中的$stateProvider和ui.router
- 带有ui.router的带角度的嵌套视图
- 如何使用AngularJS,Vise和UI Router全局实现身份验证
- 如何使用AngularJS和ui-router从Laravel 5.1获取下载文件
- AngularJS - ui.router - 如何在动态添加它们后重定向到所需的状态
- Angular UI Router-在不了解第二级嵌套视图的情况下更改第三级嵌套视图
- angularjs+ui.router:指令控制器和链接函数之间的不同行为
- AngularJS : ui.router 不显示模板
- [AngularJS][UI Router]在视图中显示视图
- Angular UI Router Resolve在AJAX完成之前未阻止状态更改
- 隐藏空模板,直到使用Restangular和UI Router加载数据
- Angular onEnter ui.router方法无法正常工作
- 如何使用Angular UI Router解析所有状态的数据
- ng模板,带有ui.router,单独的文件
- 使用Angular UI Router,如何使一个状态成为所有状态的子状态
- Angular ui-router resolve promise给出了无限的摘要循环
- AngularJS router-ui resolve exception
- AngularJs的ui-router ui-sref不能从嵌套状态中生成带有参数的href