我正在使用Backbone路由器创建这样的路由:
city/:name
http://www.mysite.com/#city/Paris (single page webapp using index.html)
但是,理想情况下我会选择路由:
city:/name
http://www.mysite.com/city/Paris
我为骨干路由器启用了pushState。但是,导航到http://www.mysite.com/#city/Paris工作正常,但http://www.mysite.com/city/Paris给了我404。
Backbone.history.start({pushState: true, root: '/'});
我注意到启用了pushState,一旦加载了http://www.mysite.com/#city/Paris,任何进一步的导航都会省略#,这就是我想要的。但是,如果我将http://www.mysite.com/city/Paris加入书签并尝试加载它,我会收到404。
我在这里错过了一步吗?我尝试使用以下设置配置我的.htaccess文件,但似乎没有解决任何问题:
<ifModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (?!^index\.html)^(.+)$ /index.html#$1 [L,NC,R,NE]
</ifModule>