如何为静态网站配置 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">
只需将 https
或 http
替换为您的基础 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.md
与index.html
处于同一级别,并且是index.html
所需的资产。
当我去 www.domain.com/baseurl/folder/index.html
时一切正常。
但是,如果我去 www.domain.com/baseurl/folder/index.html
然后它会抱怨找不到 www.domain.com/baseurl/markdown.md
。它在错误的地方寻找资产。
我有一个静态网站 - 它有几个 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">
只需将 https
或 http
替换为您的基础 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.md
与index.html
处于同一级别,并且是index.html
所需的资产。
当我去 www.domain.com/baseurl/folder/index.html
时一切正常。
但是,如果我去 www.domain.com/baseurl/folder/index.html
然后它会抱怨找不到 www.domain.com/baseurl/markdown.md
。它在错误的地方寻找资产。