私は私のangularjsアプリ上で次のルートを持っている:私はURL http://localhost:8090/
にアクセスした場合奇妙なangularjsルートの挙動
angular.module('index').config(['$routeProvider', '$locationProvider',
function indexRouteConfig($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
var routeToUserHomePage = ['$injector', function routeToUserHomePage($injector) {
var $location = $injector.get('$location');
//somecode
$location.url('/unauthorized'); // this works
}
$routeProvider
.when('/', {
templateUrl : 'app/custom/templates/customTemplate.html',
controller : 'customTemplateController',
resolve : { routeToUserHomePage: routeToUserHomePage }
})
.when('/unauthorized', {
templateUrl : 'app/custom/templates/customTemplate.html',
controller : 'customTemplateController'
})
.otherwise({
resolve : { routeToUserHomePage: routeToUserHomePage }
});
それは完璧に動作し、Imがunauthorized
画面にリダイレクト。
ブラウザにアクセスしてhttp://localhost:8090/unauthorized
と入力すると、エラー404が見つかりませんWebサーバーからが届きました。それは "それ以外の"ルートをヒットしません。ここで何が恋しい?
index.htmlファイルに<base href="/">
というタグがあります。
実際にはできません。私はrouteToUserHomePageメソッドでコードを単純化しました。問題は、http:// localhost:8090/unauthorizedと入力してブラウザにEnterキーを押したときに404エラーが表示される場合です。 – gog
@gog –