1

我正在使用主干路由器创建这样的路由:

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>
4

0 回答 0