【发布时间】:2018-07-13 17:52:09
【问题描述】:
索引.html
<!DOCTYPE html>
<html lang="en" ng-app="echo">
<head>
<base href="/">
// Other JS and CSS File
</head>
<body>
<div ng-view></div>
</body>
</html>
myapp.js
myapp
.config(function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl : 'pages/studies.html',
controller : 'listStudyController'
})
.when('/dashboard', {
templateUrl : 'pages/dashboard.html',
controller : 'mainController'
})
.when('/profile', {
templateUrl : 'pages/profile.html',
controller : 'mainController'
})
.otherwise({
redirectTo: '/'
});
//check browser support
$locationProvider.html5Mode({
enabled:true,
requireBase:true
});
});
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
注意:
- 成功从 url 中删除哈希标签。
- 当我重新加载页面时它显示错误。
未找到
在此服务器上找不到请求的 URL /profile。
【问题讨论】:
-
尝试在
myapp.js中的路线之前添加$locationProvider.hashprefix(''); -
它不起作用,我遇到了同样的错误。
-
我明白了。编辑“httpd-vhosts.conf”文件并设置这个
Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all 它可以工作。 -
您应该将其发布为问题的答案并接受它,以便处于相同情况的其他人可以使用您的解决方案:)
-
好主意,我发布了。 (y)
标签: javascript angularjs .htaccess