2013-06-19 3 views
1

Если я не использую html5mode, все работает нормально. Но когда я активирую его, я получаю ошибку 404 при каждом запросе.angularjs html5mode не работает

Вот соответствующий код:

$urlRouterProvider.otherwise('/404'); 
$locationProvider.html5Mode(true); 

    $stateProvider 
     .state('404', { 
      url: '/404', 
      views: { 
       '': { 
        templateUrl: '404.html' 
       } 
      } 
     }); 

и я использую пользовательский интерфейс маршрутного состояния поставщика:

$stateProvider.state('mandates', { 
      url: '/domiciliations/mandats', 
      views: { 
       '': { 
        templateUrl: 'directDebit/views/mandates.html', 
        controller: 'mandates.ctrl', 
       }, 
       'menu-action': { 
        templateUrl: 'directDebit/views/menu/menu.mandates.html', 
        controller: 'menu.mandates.ctrl' 
       } 
      } 
     }) 

Так что, если я пытаюсь получить доступ MYDOMAIN/приложение/domiciliations/mandats, я получаю 404. Если я не использую html5-режим, то запрашиваю mydomain/app/#/domiciliations/mandats.

Любая идея, что я должен изменить?

ответ

3

Вам необходимо убедиться, что ваш сервер настроен на перенаправление всех запросов на ваш индекс/приложение. На каком сервере вы работаете?

+0

IIS. Поэтому переключение в режим html5 недостаточно, не так ли? Как выглядит перенаправление в приведенном выше примере? – Sam

+0

Исправить. Вам нужно будет изменить свой web.config для перенаправления для вас. –

+0

http://www.iis.net/downloads/microsoft/url-rewrite –