我们正在使用主干路由、mod_rewrite、requirejs。该应用程序位于文件夹中,而不是 Web 根目录中,因此图像、css 和 js 文件需要相对文件夹引用(如果我们可以使用文件将加载的绝对文件夹)。
访问带有斜杠的路由时,除非在标头中设置了适当的基本标记,否则不会正确加载 js 和 css 文件。像这样:
<base href="//localhost/myapp/" />
此解决方案有效。问题是我们需要对基本标签进行变量化,以便我们可以拥有代码的开发和生产版本。但是要加载带有变量的 js 文件,如果没有基本标记,将无法工作。
只是为了确保我为骨干做了标准修复。修复可选斜杠 (/):
routes: {
'faq(/)':'jumpToText',
'register(/)':'jumpToForm',
},
并在历史上扎根
Backbone.history.start({pushState: true, root: "//localhost/myapp/");
该问题似乎是一个无法解决的 mod_rewrite 问题。所以最后的想法是动态设置base标签。