Я пытаюсь получить Угловой u-маршрут для работы после развертывания на IIS7, но даже с настройкой перезаписи URL-адресов в web.config он все еще не работает так же хорошо, как в IIS express ,Угловой-UI-Router и публикация IIS
404 состояние всегда перехвачен IIS и отображает
404 - файл или каталог не найден. Ресурс, который вы ищете, возможно, был удален, изменилось его имя или временно недоступно.
Но мой маршрутизатор обрабатывает штраф 404 redirect и правильно загружает шаблон при использовании iis express.
Угловая конфигурация
.config(["$stateProvider", "$locationProvider", "growlProvider", "$urlRouterProvider", function ($stateProvider, $locationProvider, growlProvider, $urlRouterProvider) {
// UI States, URL Routing & Mapping. For more info see: https://github.com/angular-ui/ui-router
// ------------------------------------------------------------------------------------------------------------
// the known route, with missing '/' - let's create alias
$urlRouterProvider.when("", "/");
$stateProvider
.state("home", {
url: "/",
templateUrl: urlbase + "/views/login",
controller: "LoginCtrl"
})
.state("modal", {
url: "/modal",
templateUrl: urlbase + "/views/modal",
controller: "ModalCtrl"
})
.state("about", {
url: "/about",
templateUrl: urlbase + "/views/about",
controller: "AboutCtrl"
})
.state("index", {
url: "/index",
templateUrl: urlbase + "/views/index",
controller: "IndexCtrl"
})
.state("login", {
url: "/login",
//layout: "basic",
templateUrl: urlbase + "/views/login",
controller: "LoginCtrl"
})
.state("404", {
url: "{path:.*}",
templateUrl: urlbase + "/views/404",
controller: "Error404Ctrl"
});
$locationProvider.html5Mode(true);
growlProvider.globalTimeToLive(3000);
}])
web.config для перезаписи URL
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
<staticContent>
<clear />
<mimeMap fileExtension=".xml" mimeType="text/x-cross-domain-policy" />
</staticContent>
</system.webServer>
Я пропускаю что-то здесь? Благодаря!
Ошибка говорит, что вы пытаетесь получить доступ к одному ресурсу, но он не находит его. Вы уверены, что все ваши шаблоны доступны? – carton
Да, на 100% уверен, я могу получить доступ ко всем шаблонам, когда я жестко кодирую относительный путь в браузере. И маршрутизация отлично работает в iis express, так что это должно быть что-то делать с IIS – Brandonm