Угловая маршрутизация не работает при прямом посещении URL в браузере, но работает при нажатии на?

У меня есть угловое приложение со структурой каталогов

app 
..views
....partials
......main.jade
......foo.jade
....index.jade

и маршруты определены как:

«использовать строгое»;

angular.module('myApp', [
  'ngCookies',
  'ngResource',
  'ngSanitize',
  'ngRoute', 
  'firebase', 
  'myApp.config'
])
  .config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);  

    $routeProvider
      .when('/', {
        templateUrl: '/partials/main',
        controller: 'MainCtrl'
      })
      .when('/foo/:fooName', {
        templateUrl: '/partials/foo',
        controller: 'FooCtrl'
      })            
      .otherwise({
        redirectTo: '/'
      });
  });

Я использую экспресс на стороне сервера, и соответствующий код:

    // server.js 
   app.configure('development', function(){
     app.use(express.static(path.join(__dirname, '.tmp')));
     app.use(express.static(path.join(__dirname, 'app')));
     app.use(express.errorHandler());
   });

   app.configure('production', function(){
    app.use(express.favicon(path.join(__dirname, 'public/favicon.ico')));
    app.use(express.static(path.join(__dirname, 'public')));
   });

    app.get('/', routes.index);
    app.get('/partials/:name', routes.partials);

    //routes.js
    exports.index = function(req, res){
      res.render('index');
    };


    exports.partials = function(req, res){
      var name = req.params.name;
      res.render('partials/' + name);
    };

Основной маршрут"/" загружается нормально, и когда я нажимаю на"/foo/bar" частичный видfoo.jade загружается как положено. Тем не менее, когда я пытаюсь посетить"/foo/bar" прямо в URL я получаю 404 ответа от Express"cannot GET /foo/bar" что имеет смысл, поскольку в Express нет такого маршрута, как этот. Тем не менее, я думал, что это был весь смысл определения углового маршрутизатора ... т.е. он должен перехватить этот запрос и на самом деле попросить"/partials/foo", Я пытался добавить

//redirect all others to the index (HTML5 history)
app.get('*', routes.index);

но это не решило проблему и, похоже, перехватывало даже запросы на статические js-ресурсы и отвечало содержимымindex.html что довольно плохо Я уверен, что я делаю что-то не так. Как я могу исправить вещи, чтобы я мог непосредственно посетить URL-адреса?

Ответы на вопрос(1)

Ваш ответ на вопрос