1

次のように ui-router の状態を設定しました。

    $stateProvider
        .state("login", {
            url: "/Login",
            templateUrl: "login.html",
            controller: "LoginController"
        })
        .state("createBooking",
        {
            url: "/CreateBooking",
            templateUrl: "createBooking.html",
            controller: "CreateBookingController"
        })
        .state("calendarView", {
            url: "/ViewBookings",
            templateUrl: "calendarView.html",
            controller: "CalendarController"
        });

これは、ローカルホストで実行しているときに正常に動作します(例: //localhost:[port]/Login)

ただし、仮想ディレクトリ 'SiteName' (例: //dev.server.com/SiteName/Login)の下の開発サーバーにプッシュすると、パスの仮想ディレクトリ部分が削除されます(例: //dev.server.com) /ログイン)

//server/directory/ serviceNameではなく//server/serviceNameを見ているため、すべてのサービスにも影響します

サイトをステージング/本番環境にプッシュすると、別のパスを再び使用することになります。

さまざまなパスを適切に処理するように ui-router を設定するにはどうすればよいですか?

4

1 に答える 1

2

そのため、html5modeを削除する必要があることがわかりました。

$locationProvider.html5Mode(true);

//dev.server.com/SiteName/index#/Loginとして表示される URL で動作するようになりました

于 2014-05-01T13:28:11.660 に答える