如何在 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">
在直接加载具有多级路由片段的页面时,我无法让 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">