I know I can get the current URL using $location.search() and $location.path() but I need a way to get previous one.  Can I use a global variable or so         
        
Angular $rootScope will have the all information across your all app components.
Here below $location service injected on $rootscope will give you the route information.
$rootScope.$on('$locationChangeStart', function (event, current, previous) {
        console.log("Previous URL" +previous);
});
                                                                        You can use for example ui-router to control the flow of your application and with this library it's easy to implement previousState by saving it in $stateChangeSuccess event.
You can do this when listening on the $routeChangeSuccess event. Parameters are currentRoute and previousRoute. You can also use $locationChangeStart and save the current route yourself.
See here:
AngularJS $route
AngularJS $location