Использование $ routeProvider для перенаправления на маршруты за пределами Angular

Я написал часть веб-приложения на Angular. Чтобы убедиться, что все маршруты покрыты, я хотел добавитьredirectTo собственность на$routeProvider, поэтому недопустимые маршруты возвращаются в корень веб-приложения, которое не использует Angular.

Я пытался:

$routeProvider.otherwise({
    redirectTo: '/'
});

но, очевидно, это только маршруты в контролируемой Angular части URL, поэтому пользователи будут перенаправлены на URL, такой какhttp://app.com/angular-part-of-web-app#, вместоhttp://app.comгде я хотел бы, чтобы они пошли.

Я работал над этим, имея пустой партиал, действующий как страницу «404», а затем контроллер, который просто использует$window Объект для перенаправления на нужную страницу:

routes.js

// Redirect to site list.
$routeProvider.when('/404', {
    templateUrl: '/partials/404.html',
    controller: 'RedirectCtrl'
});

// Redirect to the 404 page.
$routeProvider.otherwise({
    redirectTo: '/404'
});

controllers.js

// Controller to redirect users to root page of site.
.controller('RedirectCtrl', ['$scope', '$window', function ($scope, $window) {

    $window.location.href = '/';
}]);

Тем не менее, это вызывает тревогу «слишком хаки, должно быть, лучше». Есть ли лучший способ сделать это в Angular?

РЕДАКТИРОВАТЬ:Угловые маршруты - перенаправление на внешний сайт? не дал ответа на тот же вопрос. Я собираюсь оставить свой вопрос открытым вместо того, чтобы пометить его как дубликат (на данный момент), поскольку, поскольку мир угловых движется так быстро, предыдущий ответ может больше не иметь места.