[英]Can't load assets in an app which is served with a rewrite on Vercel
資產未加載 (HTTP 404) 正在重寫的應用程序。
你好。 我正在使用 turborepo 創建一個網站。 我有兩個不同的應用程序( RootApp
和一個SideProject
)。 他們都被部署到 Vercel。 我已將RootApp
配置為在自定義域上提供服務。 我一直在關注這篇試圖配置重寫的博文。
RootApp
是一個 Astro 項目,它有一個vercel.json
來源:
// vercel.json
{
"rewrites": [
{
"source": "/projects/<SideProjectName>",
"destination": "<SideProjectProdUrl>"
}
]
}
SideProject
是一個 Vite/React 應用程序。 我已將其配置為具有這樣的basePath
// vite.config.js
import react from '@vitejs/plugin-react'
import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
base: '/projects/<SideProjectName>/',
plugins: [react()],
})
RootApp
良好,但當我導航到<custom-domain>/projects/<SideProjectName>
,只有 HTML 請求有效。 CSS
和JS
的資產請求都以404
失敗。 他們請求<custom-domain>/projects/<SideProjectName>/assets/...
我需要配置什么才能使資產正常工作?
要解決此問題,我必須為資產添加重定向。
// vercel.json
{
"redirects": [
{
"source": "/projects/<SideProjectName>/assets/:filePath",
"destination": "<SideProjectProdUrl>/assets/:filePath",
"permanent": true
}
],
"rewrites": [
{
"source": "/projects/<SideProjectName>",
"destination": "<SideProjectProdUrl>"
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.