AngularJS "#!" on url

13,710

Solution 1

Thats called hash-bang.

To fix this use :

    angular.module('yourApp', [])
    .config(['$locationProvider', function($locationProvider) {
        $locationProvider.hashPrefix('');
    }]);

Adding html5Mode would even get rid of the '#' in the url but if you refresh the page, then you would get a 404 error. This can be fixed by configuring your server a bit. For that you might want to check the nice little tutorials :

  1. https://scotch.io/tutorials/pretty-urls-in-angularjs-removing-the-hashtag
  2. https://www.theodo.fr/blog/2017/01/pretty-url-in-angularjs-and-loopback-drop-the/

There is another answer to the hashbang issue in stackoverlow :

Doing links like Twitter, Hash-Bang #! URL's

Solution 2

You can use html5Mode in your location provider.

$locationProvider.html5Mode(true);

more info https://scotch.io/tutorials/pretty-urls-in-angularjs-removing-the-hashtag

Share:
13,710

Related videos on Youtube

A. Pozzi
Author by

A. Pozzi

Updated on June 04, 2022

Comments

  • A. Pozzi
    A. Pozzi almost 2 years

    someone knows what "#!" Means. on the url?

    I was working until then this appears,I had a "#" always in the url and would like to keep it that way. Currently routing is not working anymore,probably because of this url change.

    It's part of a business project, i don`t want to change to html5Mode.

    I tried to use:

    $locationProvider.hashPrefix("");
    

    Even correcting the url in this way routing is having problems