Я работаю над веб-приложением, используя angular.js и компонент на стороне сервера, развернутый на IIS express.
Моя проблема заключается в том, что нажатие кнопки перезагрузки в браузере отображает сообщение 404, потому что, очевидно, сервер не распознает URL (управляемый угловым).Angular.js и IIS reload страница
На моем приложении модуля у меня есть следующие:
angular.module('app').config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode($locationProvider.html5Mode({
enabled: true,
requireBase: false
}));
$routeProvider.otherwise({ redirectTo: '/login' });
}]);
Затем в каждом модуле я управлять маршрутизацией для соответствующих страниц, например:
angular.module('login', [])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/login', {
templateUrl: 'src/app/login/login.tpl.html',
controller: 'LoginCtrl',
resolve: {
}
});
}])
Моя главная страница/SRC/index.html
Я также попытался добавить следующее правило в файл web.config, но он также не работает:
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
Любые мысли? Благодарю.
Update 1:
Я забыл упомянуть, что, используя правило выше, показывает следующее сообщение об ошибке при перезагрузке страницы.
Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не отображать содержимое этого каталога.
Ваша переписывание в web.config в порядке, она должна перенаправляться на ваш корневой URL. Внутренняя часть теги внутри system.webServer? И вы подтвердили, что 404 действительно включено/находится в режиме входа –
Noppey
@Noppey да, это под <конфигурацией>. –
OtoLeo