fix: url prefix page redirect

This commit is contained in:
engigu
2026-01-13 21:58:03 +08:00
parent 23d947cb92
commit 44c8db491d
2 changed files with 14 additions and 15 deletions
+4 -4
View File
@@ -246,10 +246,10 @@ func Setup(c *Controllers) *gin.Engine {
html := string(data)
// 只注入配置变量,不做字符串替换
// 前端会使用这些变量来构建正确的路径
configScript := `<script>window.__BASE_URL__ = "` + urlPrefix + `"; window.__API_VERSION__ = "/api/v1";</script>`
html = strings.Replace(html, "</head>", configScript+"</head>", 1)
// 在第一个 script 标签中注入配置
// 这样可以确保在资源加载前就设置好 base 标签
configScript := `window.__BASE_URL__ = "` + urlPrefix + `"; window.__API_VERSION__ = "/api/v1";`
html = strings.Replace(html, "// 后端会在这里注入:", configScript + "\n //", 1)
ctx.Header("Cache-Control", "no-cache, no-store, must-revalidate")
ctx.Data(200, "text/html; charset=utf-8", []byte(html))
+10 -11
View File
@@ -2,20 +2,19 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<script>
// 这个脚本会被后端注入 __BASE_URL__,必须在所有资源加载前执行
// 后端会在这里注入: window.__BASE_URL__ = "/baihu";
</script>
<script>
// 在任何资源加载前设置 base 标签
if (window.__BASE_URL__) {
document.write('<base href="' + window.__BASE_URL__ + '/">');
}
</script>
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title></title>
<script>
// 在资源加载前设置 base 标签
(function() {
var baseUrl = window.__BASE_URL__;
if (baseUrl) {
var base = document.createElement('base');
base.href = baseUrl + '/';
document.head.appendChild(base);
}
})();
</script>
</head>
<body>
<div id="app"></div>