within an angular app, when you click on a link with href path of http://localhost/account/login/. Then Angular steps in, and instead of letting your browser request a page from the server, it intercepts your click event and goes to your routeProvider to see which client-side view to display. Thats why your links work as long as you try not to open them directly.
you can config the routeProvider for this href path http://localhost/account/login/, in angular as shown below.
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('account/login', {templateUrl: 'account/login', controller: 'AccountController'}).
when('/users', {templateUrl: 'account/users', controller: 'UsersController'}).
otherwise({redirectTo: '/'});
}]);
Here in this
when('account/login', {templateUrl: 'account/login', controller: 'AccountController'}).
templateUrl, templateUrl: 'account/login', In ASP.NET MVC, it redirects to account -> Controller and login -> Action.
or you can set to static tempalte like this templateUrl: 'views/user_login.htm'
controller, controller: 'AccountController' is nothing but the AngularJS Controller.