如何为静态网站配置 base URL

How to configure base URL for a static website

我有一个静态网站 - 它有几个 HTML、CSS 和 js 文件。我可以在本地提供它,也可以将它发布到 Netlify 或 Vercel 等静态网站服务器。

问题:我想在基地 url 提供服务。例如www.mydomain.com/baseurl。因此,例如,index.html 中的 <link rel="stylesheet" href="dist/style.css"> 在部署时应转换为 <link rel="stylesheet" href="baseurl/dist/style.css">

我可以重写我所有文件中的 URL,但是当尝试在本地提供它时它就无法工作了。

如何配置基地URL?

如果你只使用HTML静态网站,你可以直接link它。

例如,您可以使用 as

<link rel="shortcut icon" href="https://cdn.sstatic.net/Sites/Whosebug/Img/favicon.ico">

只需将 httpshttp 替换为您的基础 url。

替代方法正在使用 PHP。不过你可以试试上面的代码。

只需将所有内容移动到名为 baseurl 的文件夹中即可。

例如文件夹结构

- root
  - baseurl
    - index.html
    - dist
       - style.css

所以,现在 www.domain.com/baseurl/index.html,它将对 /baseurl 的所有请求重写到托管此内容的任何地方,应该可以工作,因为任何对资产的请求都以 baseurl 开头,并且都将是重写。

备注

我确实遇到了一些我不理解的奇怪行为。假设我有以下文件夹结构:

- root
  - baseurl
    - folder
       - index.html
       - markdown.md
       - dist
         - style.css

请注意,markdown.mdindex.html处于同一级别,并且是index.html所需的资产。

当我去 www.domain.com/baseurl/folder/index.html 时一切正常。

但是,如果我去 www.domain.com/baseurl/folder/index.html 然后它会抱怨找不到 www.domain.com/baseurl/markdown.md。它在错误的地方寻找资产。