私はangel.jsとIISに展開されたサーバー側コンポーネントを使ってWebアプリケーションを開発中です。
ブラウザでリロードボタンを押すと、サーバーがURL(角で管理)を認識しないため、404メッセージが表示されることがあります。各モジュールには、私は例えば、対応するページのルーティングを管理し、その後Angular.jsとIISのリロードページ
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>
どのような考えですか?ありがとう。
アップデート1:
私は、ページを再読み込み時には、上記のルールを使用すると、次のエラーが表示されていることを言及するのを忘れてしまいました。
HTTPエラー403.14 - 禁止: Webサーバーは、このディレクトリの内容を一覧表示しないように構成されています。
web.configで書き直しても問題ありません。ルートURLにリダイレクトする必要があります。 内部にありますシステム内のタグ。ウェブサーバー? 404が本当に/ loginであることを確認しましたか? –
Noppey
@Noppeyはい、の下にあります。 –
OtoLeo