资产相对于 root,但 html 文件在子文件夹中

问题描述

我今天收到了 675 个 html 文件

文件夹结构如下:

 - index.html
 - /assets/
 - /pages/

pages/ 文件夹中,我有 675 个 html 文件。在每个文件夹中,我都拥有与根文件夹相关的所有资产,如下所示:

<link rel="stylesheet" href="/assets/css/main.css">

我已将所有内容上传到我的演示服务器,网址如下所示:

https://example.com/CLIENT/rebrand/

index.html 页面包含 pages 文件夹中 675 个 html 文件的列表。

你可以想象,当我点击其中一个时,我得到了页面,但没有加载图像、js 和 css。

有没有办法通过 .htaccess 来指示服务器进行解释

<link rel="stylesheet" href="/assets/css/main.css">

作为

<link rel="stylesheet" href="/CLIENT/rebrand/assets/css/main.css">

我想避免在如此多的文件中进行大量搜索和替换,因为破坏某些内容的风险很高。

你们对更清洁的解决方案有什么暗示吗?谢谢

解决方法

您可以在 .htaccess 顶部使用此重定向规则进行此重定向:

RewriteEngine On

RewriteRule ^assets/.+$ /CLIENT/rebrand/$0 [L,NC,R=301]

# other rules appear below this line