Browse Source

修复MIME类型错误:静态资源404直接返回 + 支持自定义base路径

cnbugs 1 tuần trước cách đây
mục cha
commit
c453d3425d
2 tập tin đã thay đổi với 14 bổ sung0 xóa
  1. 13 0
      backend/main.go
  2. 1 0
      frontend/vite.config.ts

+ 13 - 0
backend/main.go

@@ -5,7 +5,9 @@ import (
 	"auto-ssl/handlers"
 	"auto-ssl/handlers"
 	"auto-ssl/services"
 	"auto-ssl/services"
 	"log"
 	"log"
+	"net/http"
 	"os"
 	"os"
+	"strings"
 	"time"
 	"time"
 
 
 	"github.com/gin-contrib/cors"
 	"github.com/gin-contrib/cors"
@@ -57,6 +59,17 @@ func main() {
 	}
 	}
 
 
 	r.NoRoute(func(c *gin.Context) {
 	r.NoRoute(func(c *gin.Context) {
+		// 静态资源请求直接返回404,避免返回html导致MIME类型错误
+		if strings.HasPrefix(c.Request.URL.Path, "/assets/") || 
+		   strings.HasSuffix(c.Request.URL.Path, ".js") || 
+		   strings.HasSuffix(c.Request.URL.Path, ".css") ||
+		   strings.HasSuffix(c.Request.URL.Path, ".png") ||
+		   strings.HasSuffix(c.Request.URL.Path, ".svg") ||
+		   strings.HasSuffix(c.Request.URL.Path, ".ico") {
+			c.AbortWithStatus(http.StatusNotFound)
+			return
+		}
+		// 其他路由返回index.html给前端处理
 		c.File("./dist/index.html")
 		c.File("./dist/index.html")
 	})
 	})
 
 

+ 1 - 0
frontend/vite.config.ts

@@ -4,4 +4,5 @@ import vue from '@vitejs/plugin-vue'
 // https://vite.dev/config/
 // https://vite.dev/config/
 export default defineConfig({
 export default defineConfig({
   plugins: [vue()],
   plugins: [vue()],
+  base: process.env.VITE_BASE_URL || '/',
 })
 })