Магистральный маршрутизатор не работает с pushState

Я хочу, чтобы каждый запрос страницы перенаправлялся на мой index.html, и любая ссылка (не #urls - /real/urls)щелкалась в моем приложении для запустить через router.js, поэтому обновления страницы практически нет - чисто ajax. Есть ли простой способ сделать это с помощью магистральной маршрутизации и htaccess?

У меня это работает на данный момент, если я уберу {pushState: true}и отформатирую свои ссылки как #login. Однако, когда я включаю pushStateи нажимаю #login, ничего не происходит. Вместо этого, только когда я обновляю страницу, Backbone интерпретирует #loginи следует маршруту для отображения loginView.

Вот мой маршрутизатор:

// Filename: router.js
define( [ 'views/beta/requestInvite', 'views/beta/login' ],
function(requestInviteView, loginView) {
    var AppRouter = Backbone.Router.extend( {
        routes : {
            // Pages
            'login' : 'login',

            // Default
            '*actions' : 'defaultAction'
        },

        // Pages
        login : function() {
            loginView.render();
        },

        defaultAction : function(actions) {
            requestInviteView.render();
        }
    });

    var initialize = function() {
        var app_router = new AppRouter;
        Backbone.history.start({pushState: true});
    };
    return {
        initialize : initialize
    };
});

То, что я хотел бы сделать, находится в requestInviteView, когда нажимается ссылка на /login, URL-адрес меняется на / loginи loginView.

Спасибо за любую помощь!

10
задан Garrett 6 June 2012 в 07:12
поделиться