2012-09-16 179 views
0

回答我的问题给我不停地奔跑与Backbone.js的问题直接页访问...骨干:没有哈希

在我的骨干应用,我希望用户能够直接导航到内部“页面”,而不必在URL中输入散列(#)。即使支持pushStateBackbone Boilerplate似乎并不支持这一点。

显然,用户只要从主页开始就可以到达任何位置。或者,他们可以直接跳到内部页面,但前提是直接在域后面或在初始斜杠后面有散列(#)。

我找到了这个问题的解决方案,似乎工作。我在这里为其他人发布相同的问题,看看有没有人知道更好的方法,并且因为我找不到在别处解决的确切问题。

回答

1

在尝试破解Backbone Boilerplate一段时间后,我发现BBB只是需要散列才会在那里。

所以我的解决方案是将一个重写规则附加到我的.htaccess文件中,该文件说明如果找不到请求的页面,请在域之后再次尝试使用散列。

<IfModule mod_rewrite.c> 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.+)$ /#$1 [R,L,NE] 
</IfModule> 

到目前为止,它似乎工作正常。这一直困扰我一会儿,我想其他人可能在同一条船上。

如果有人知道更好的方法来完成此任务,或者我的解决方案可能导致的任何问题,请随时回复。