Try injecting $window
and run a lower level location api with $window.location.href = 'path';
also it may matter that you want to keep your data in sync so try $location.path('/someNewPath').replace();
also take a look at your $locationProvider
service settings
$location service configuration To configure the $location service, retrieve the $locationProvider and set the parameters as follows:
html5Mode(mode): {boolean|Object} true or enabled:true - see HTML5 mode false or enabled:false - see Hashbang mode requireBase:true - see Relative links default: enabled:false
hashPrefix(prefix): {string} prefix used for Hashbang URLs (used in Hashbang mode or in legacy browser in Html5 mode) default: ""
More information about the $location service in the Angular docs