Question

I just start to learn angularJs, and was trying to configure the partial page with angular route service.

It worked with the hash format, however,when I tried to get rid of hash, the routeProvider stopped working.

JS

app.config(function($routeProvider,$locationProvider){
    $locationProvider.html5Mode(true);
    $routeProvider.when("/", { templateUrl: "/index.html" }).
        when("/about", { templateUrl: "/partials/about.html" }).
        when("/contact", { templateUrl: "/partials/contact.html" }).
        otherwise({ redirectTo: '/' });
});

HTML

          <ul class="nav navbar-nav navbar-right">
              <li><a href="/about">About</a></li>
              <li><a href="/contact">Contact</a></li>
          </ul

Can someone enlighten me?

Was it helpful?

Solution

Try to change

 $locationProvider.html5Mode(true);

to

$locationProvider.html5Mode(true).hashPrefix('!');

And add

<base href="/">

in a document "head" section.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top