Позвоночник.маршруты JS PushState.htaccess работает только как хэш, но больше нигде


У меня есть сайт domain.com например. У меня есть хребет.JS с pushstate и запасной вариант, и когда я Гото domain.com/about он загружает индекс.html-страница и pushstates to about. все работает. но если я хочу получить каталог со страницей внутри, например: www.domain.com/bio/moreinfo например, он не работает и выдает недопустимую страницу. если я делаю это в IE, это работает нормально. в моем файле htaccess есть следующее:

RewriteEngine on
# html5 pushstate (history) support: 
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]
</ifModule>

Если я перейду непосредственно на страницу domain.com/bio/moreinfo он обосрался (я думаю, потому что мой сервер хочет получить каталог био? или, может быть, мне нужно на самом деле контролировать маршруты в магистрали по-другому? это просто, что он работает на челки, так что это должно быть какой-то странный push State directory вещь, где #bio / info Не то же самое для apache, как /bio / info . любая помощь ценится.

1 3

1 ответ:

Ну, используя ответ в другом предложенном посте, который должен был сделать <base href="/" /> в индексе.HTML-файл. Это на самом деле сделало подкаталоги в моем pushState работать! просто так было предложено.. но потом в ответ он сломал мой IE, но я исправил его, поместив дополнительный код в мой INIT of backbone

 Backbone.history.start({ pushState: Modernizr.history, silent: true });
if(!Modernizr.history) {
    var rootLength = Backbone.history.options.root.length;
    var fragment = window.location.pathname.substr(rootLength);
    var search = window.location.search;
    Backbone.history.navigate('/#' + fragment + search, { trigger: true });
} else {
    Backbone.history.loadUrl(Backbone.history.getFragment())
}