从 AngularJs 路线中的 URL 移除 Hashbang

Removing Hashbang from URL in AngularJs Route

我是 angularJs 的新人。我只是尝试在 angularJs 中路由页面。它正在工作,但显示“#”符号。所以我用了

$locationProvider and $locationProvider.html5Mode(true);

但它不起作用。所以我在下面给出我的代码以寻求帮助来找到问题。我正在使用 angularJs.

的 CDN

项目结构为:

app.Js 文件是

'use strict';

angular.module('myApp', ['myApp.controllers', 'ngRoute']);

angular.module('myApp').config(function ($routeProvider, $locationProvider) {
    $routeProvider
        .when('/view1', {
            controller: 'Controller1',
            templateUrl: 'partials/view1.html'
        })
        .when('/view2', {
            controller: 'Controller2',
            templateUrl: 'partials/view2.html'
        });

    $locationProvider.html5Mode(true); //activate HTML5 Mode
});

控制器是:

'use strict';

angular.module('myApp.controllers', [])
    .controller('Controller1', function ($scope) {
        $scope.message = "Hello, world";
    })
    .controller('Controller2', function ($scope) {
        $scope.now = new Date();
    });

Html 页面是:

<!doctype html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="utf-8">
    <title>AngularJS Routing</title>
    <link rel="stylesheet" href="app.css"/>
    <base href="/">
</head>
<body>
<ul class="menu">
    <li><a href="/view1">view1</a></li>
    <li><a href="/view2">view2</a></li>
</ul>
<ng-view></ng-view>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-route.js"></script>    
<script src="app.js"></script>
<script src="controllers.js"></script>
</body>
</html>

你的基础应该是你的项目文件夹路径。你的情况

<base href="/untitled1/">

另外,我希望您正在通过 .htaccess 处理页面刷新重定向

参考this link了解更多信息