How to delete '#' sign in angular-ui-router URLs How to delete '#' sign in angular-ui-router URLs javascript javascript

How to delete '#' sign in angular-ui-router URLs


You need to enable HTML5Mode if you want navigation without hash tags:

app.config(["$locationProvider", function($locationProvider) {  $locationProvider.html5Mode(true);}]);

You will also need to tell angular the root URL of your app by adding the following code to the <head> of your HTML file:

<base href="/">

Be aware that support for HTML5 mode depends on the browser. For those who don't support the History API, Angular will fallback to hashbang.


If you are using Angular 1.6+, you will also need to remove the hashPrefix from the URL:

appModule.config(['$locationProvider', function($locationProvider) {  $locationProvider.hashPrefix(''); // by default '!'  $locationProvider.html5Mode(true);}]);

Don't forget to change the base as well:

<head>    ...    <base href="/"></head>


    yourApp.config(function ($stateProvider, $urlRouterProvider,$locationProvider) {    $urlRouterProvider.otherwise('/home');    //add this line in your routing code       $locationProvider.html5Mode(true);    $stateProvider.state('web.home', {                url: '/home',                templateUrl: 'pages/home.html',                controller: 'mainController'                     })    }

in your index.php or index.html in < head > tag insert

< base href="/" >

for CodeIgniter :

<base href=" < ?php echo base_url() ?  >" >