回答我自己的问题,我一直遇到Backbone.js的问题......
在我的Backbone应用程序中,我希望用户能够直接导航到内部“页面”,而无需在URL中键入哈希(#)。开箱即用,Backbone Boilerplate似乎不支持此功能,即使它支持pushState。
显然,用户已经可以到达任何位置,只要他们从主页开始。或者他们可以直接跳到内部页面,但只有在域之后或紧接在初始斜杠之后有一个哈希(#)。
我找到了解决此问题的解决方案似乎正在起作用。我在这里发布它给其他有同样问题的人,看看是否有人知道更好的方法,因为我找不到其他地方的确切问题。
答案 0 :(得分:1)
在尝试破解Backbone Boilerplate一段时间后,我发现BBB只需要哈希就可以存在(如果还没有)。
所以我的解决方案是在我的.htaccess
文件中附加一条重写规则,说明如果找不到请求的页面,请在域后再次使用哈希值。
<IfModule mod_rewrite.c>
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /#$1 [R,L,NE]
</IfModule>
到目前为止似乎工作正常。这已经困扰了我一段时间,我认为其他人可能在同一条船上。
如果有人知道更好的方法来解决这个问题,或者我的解决方案可能导致任何问题,请随时回复。