我用Backbone和Marionette创建了一个简单的应用程序。它工作正常,没有错误或类似的东西。但是当我看到网址时,网址前面有一个哈希值,这里是我的链接
programming/index.html#chart
programming/index.html#tutorial/3
programming/index.html#tutorial/6
我想让它更清晰,更具可读性,我想删除hastag并替换为/
所以URL看起来像这样
programming/index.html/chart
programming/index.html/tutorial/3
programming/index.html/tutorial/6
也可以访问它
programming/chart
programming/tutorial/3
programming/tutorial/6
我尝试了很多这个问题的答案
Routing in Backbone.js / Marionette.js - no hashtags, route list and sub-routers
BackboneJS - Router issues - how to get clean URL's
我尝试将pushState设为true,就像这样
programming.on('start',function(){
if(Backbone.history){
Backbone.history.start({
pushState : true
});
if(this.getCurentRoute() === ""){
programming.trigger("program:list")
}
}
})
我尝试制作.htaccess文件
<IfModule mod_rewrite.c>
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /#$1 [R,L,NE]
</IfModule>
但他们都没有为我工作:(请大家帮助我。
答案 0 :(得分:0)
这对我有用。
$('body').delegate('a[href]:not([href^=\#])', 'click', function (e) {
e.preventDefault();
Backbone.history.navigate($(this).attr('href'), {trigger: true});
});