For example:
http://localhost/#!/login.html
I don't need "!". How would I remove it?
eg:http://localhost/#/login.html
This is my router code :
// Redirect any unmatched url
$urlRouterProvider.otherwise("/login.html");
$stateProvider.state('login', {
url: "/login.html",
templateUrl: "views/login.html",
data: {pageTitle: "login", isLeft: false},
controller: "LoginCtrl",
resolve: {
deps: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load({
name: 'myApp',
files: [
'controllers/LoginCtrl.js'
]
});
}]
}
});
I think Angular-ui-router might have a problem, but I can't find the solution.
Thanks!
Hashbang Mode
Hashbang mode is a trick that AngularJS uses to provide deep-linking capabilities to your Angular apps. In hashbang mode (the fallback for html5 mode), URL paths take a prepended # character. They do not rewrite tags and do not require any server-side support. Hashbang mode is the default mode that AngularJS uses if it’s not told otherwise. A hashbang URL looks like:
http://yoursite.com/#!/inbox/all
To be explicit and configure hashbang mode, it needs to be configured in the config function on an app module
We can also configure the hashPrefix, which, in hashbang mode, is the ! prefix. This prefix is part of the fallback mechanism that Angular uses for older browsers. We can also configure this character.
To configure the hashPrefix:
angular.module('myApp', ['ngRoute'])
.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(false);
$locationProvider.hashPrefix('!');
}]);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With