我已经多次阅读过这篇文章,并且我已按照那里的说明进行操作,但我无法使用此功能。
AngularJS routing without the hash '#'
我有一个Qt应用程序,它向带有#的URL发送请求。该URL被路由到Angular代码。我想改变这个不需要#。
这是我的Angular代码:
$sudo apt-get install blt-dev
$pip install matplotlib
这是我的nginx配置:
angular.module('app').config(function($routeProvider, $locationProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'home.html',
controller : 'home'
})
// route for the workitem page
.when('/workitem/:identifier', {
templateUrl : 'workitem.html',
controller : 'workitem'
});
$locationProvider.html5Mode(true);
});
在/ projects / larry / web中有一个index.html,它使用$ routeProvider加载JS模块。
当我转到网址时:http://foo.bar.com:8000/#/workitem/12345这很好用。 JS被加载,$ routeProvider获取URL并执行它应该做的事情。
但如果省略#并转到http://foo.bar.com:8000/workitem/12345,则不会加载JS代码并且请求失败。
如何在没有哈希的情况下完成这项工作?
答案 0 :(得分:3)
您还需要在html页面的<base href="/" />
中添加<head>
。
以下示例。
<!DOCTYPE html>
<html ng-app="app">
<head>
<title>My Website</title>
<base href="/" />
</head>
<body>
</body>
</html>
修改强>
这将带您到GitHub帖子的答案。 https://gist.github.com/cjus/b46a243ba610661a7efb