如何在 Apache 中使用多级 Backbone 路由器片段?

How to use multi-level Backbone Router fragments with Apache?

在直接加载具有多级路由片段的页面时,我无法让 Apache 重写工作。这里有两个例子:

这是我的虚拟主机配置:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.html [L]

示例 1: http://www.fakewebsite.com/products(工作)

当我打开带有单个路由片段的示例 1 URL 时,它使用下面的 Apache 配置加载时没有问题。使用 http://www.fakewebsite.com/assets/image1.png.

正确加载资产

示例 2: http://www.fakewebsite.com/products/12345(不工作)

当我打开包含两个片段的示例 2 URL 时,页面未加载。它不会加载,因为我的所有 css 和 js 文件都试图从 http://www.fakewebsite.com/products/assets/image1.png.

加载

我怎样才能使它适用于示例 2?我认为使用 RewriteBase /RewriteRule ^index\.html$ - [L] 会强制所有非 html 文件使用基础而不是片段。

最简单和标准的方法是使用文档根目录的绝对路径定义所有资产:

<img src="/assets/image1.png">