Javascript 可以从外部源进行主干路由而不使用散列吗?

Javascript 可以从外部源进行主干路由而不使用散列吗?,javascript,.htaccess,backbone.js,hash,router,Javascript,.htaccess,Backbone.js,Hash,Router,我正在使用主干路由器创建如下路由: city/:name http://www.mysite.com/#city/Paris (single page webapp using index.html) 但是,理想情况下,我希望路由能够做到: city:/name http://www.mysite.com/city/Paris 我已为主干路由器启用pushState。然而,导航到工作正常,但给我一个404 Backbone.history.start({pushState: true, ro

我正在使用主干路由器创建如下路由:

city/:name
http://www.mysite.com/#city/Paris (single page webapp using index.html)
但是,理想情况下,我希望路由能够做到:

city:/name
http://www.mysite.com/city/Paris
我已为主干路由器启用pushState。然而,导航到工作正常,但给我一个404

Backbone.history.start({pushState: true, root: '/'});
我注意到,启用pushState后,一旦加载,任何进一步的导航都会忽略,这正是我想要的。但是,如果我将其添加到书签并尝试加载,则会得到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>

您需要确保在最初的请求中提供了正确的内容。我不能帮你。您的服务器必须使用它通常使用/index.Ah响应的任何内容来响应/city/Paris,所以这是我缺少的一个.htaccess配置步骤?如何将任何www.mysite.com/city/Paris请求转发到www.mysite.com/index.html/city/Paris?