3

I'm using angularJS to build a website and use angular-route library for view of different pages of website. my website is working well but there is a hash tag in url when i move on different views. for removal of hash tag I'm using

$locationProvider.html5Mode(true);

but this is not working on page refresh. My code is given below:- Index.html

<body data-ng-app="myapp" data-ng-controller="myctrl">
<div data-ng-include=" 'pages/menu.html'"></div>
<div ng-view class="view-animate"></div>
<div data-ng-include=" 'pages/footer.php' "></div>

<body>

app.js

    'use-strict'
var tc = angular.module('myapp', ['ngRoute']);

tc.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);

    $routeProvider
    .when('/home', {
        templateUrl: 'pages/home.html',
    })
    .when('/about', {
        templateUrl: 'pages/about.html',
    })
  .otherwise({
        redirectTo: '/home'
    })

}]);

asb14690
  • 1,757
  • 3
  • 15
  • 21

3 Answers3

1

Use:-

<base href="/" />

And put this in your head tag :-)

squiroid
  • 13,809
  • 6
  • 47
  • 67
0

I suggest you to use $stateProvider , $routeProvider not suggest by many Angularjs expert. And $stateProvider have more control over route then $routeprovider.

see

Using $routeProvider with $stateProvider

Community
  • 1
  • 1
virender
  • 4,539
  • 5
  • 27
  • 31
0

Make sure you have <!doctype html> at the top of your index.html

user12121234
  • 2,519
  • 2
  • 25
  • 27