来自外部源的骨干路由可能没有哈希?

时间:2013-10-02 03:39:09

标签: javascript .htaccess backbone.js hash router

我正在使用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>

0 个答案:

没有答案