Backbone.js 和 mod rewrite

8

我正在使用backbone进行实验,并且已经到了加载使用pushState的直接页面时出现问题的地方。如果我尝试前往my.url.com/login,它会给我一个找不到页面的错误提示,因为该直接页面不存在。我有以下重写规则:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [L,QSA]

然而,这似乎不起作用(尽管我得到了一个坏请求,而不是未找到)。我该如何使用mod rewrite使pushState的URL正确加载?

1个回答

0

这是我第一次了解新历史 API 以及 Backbone 如何使用它 - 非常酷。

要解决您的错误请求问题,您只需要在 index.html 前面加上 /。在我的端上,会正确地内部重定向并传递查询字符串,就像您期望的那样。

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.html [L,QSA]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接