Я использую Express, который загружает AngularJS из статического каталога. Обычно я запрашиваю http://localhost/, в котором Express обслуживает меня index.html и все правильные файлы Angular и т.д. В моем приложении Angular у меня есть эти настройки маршрутов, которые заменяют содержимое в ng-view:
$routeProvider.when('/', {
    templateUrl: '/partials/main.html',
    controller: MainCtrl,
});
$routeProvider.when('/project/:projectId', {
    templateUrl: '/partials/project.html',
    controller: ProjectCtrl,
});
$locationProvider.html5Mode(true);
На моей главной странице у меня есть ссылка на <a href="/project/{{project.id}}">, которая будет успешно загружать шаблон и перенаправлять меня на http://localhost/project/3 или любой другой идентификатор, который я указал. Проблема в том, что когда я пытаюсь направить мой браузер на http://localhost/project/3 или обновить страницу, запрос отправляется на сервер Express/Node, который возвращает Cannot GET /project/3.
Как мне настроить маршруты Express для этого? Я предполагаю, что это потребует использования $location в Angular (хотя я бы предпочел избежать уродливых поисков и # хэши, которые они используют), но я не знаю, как начать настройку маршрутов Express, чтобы справиться с этим.
Спасибо.