如何在 .net 中从 wwwroot 内的多个文件夹提供 html 文件
How to serve html files from multiple folders inside wwwroot in .net
我在 wwwroot 中有多个文件夹,每个文件夹都有一个 web 包(VueJs/Angular/React App 的 dist 文件夹内容)。
如屏幕截图所示,我在构建 Vuejs 应用程序后创建了 2 个文件夹并复制了 dist 内容。
如果我将 dist 内容直接复制到一个应用程序的 wwwroot 文件夹并导航到 localhost:5000/ 然后应用程序正在正确加载。
但是有多个文件夹,当我导航到 localhost:5000/page1/index.html 时,浏览器控制台显示以下错误
Failed to load resource: the server responded with a status of 404 (Not Found)
这是因为js和CSS文件夹没有在浏览器中加载。
下面是我在 Startup.cs 文件中的代码。
app.UseStaticFiles();
app.UseFileServer(new FileServerOptions
{
EnableDirectoryBrowsing = true,
});
谁能帮我解决这个问题?
虽然您可以针对每个单独的图像、css 或 javascript 资源获得 404 个响应,但 html 文件本身应该 NOT产生那个结果。相反,您应该看到页面在没有这些资源的情况下呈现,每个资源都会在您的浏览器开发人员工具中显示自己的 404,但只有 after 成功加载 html .
有多种方法可以修复额外丢失的资源。这里有两个:
使用相对引用(img/SomeImage.png
而不是 /img/SomeImage.png
或完整的 URL)
使用 base
标签将根目录重置为当前位置 (<base href="//localhost:5000/Page1/">
)。这属于 head
为 html。
我在 wwwroot 中有多个文件夹,每个文件夹都有一个 web 包(VueJs/Angular/React App 的 dist 文件夹内容)。 如屏幕截图所示,我在构建 Vuejs 应用程序后创建了 2 个文件夹并复制了 dist 内容。
如果我将 dist 内容直接复制到一个应用程序的 wwwroot 文件夹并导航到 localhost:5000/ 然后应用程序正在正确加载。 但是有多个文件夹,当我导航到 localhost:5000/page1/index.html 时,浏览器控制台显示以下错误
Failed to load resource: the server responded with a status of 404 (Not Found)
这是因为js和CSS文件夹没有在浏览器中加载。
下面是我在 Startup.cs 文件中的代码。
app.UseStaticFiles();
app.UseFileServer(new FileServerOptions
{
EnableDirectoryBrowsing = true,
});
谁能帮我解决这个问题?
虽然您可以针对每个单独的图像、css 或 javascript 资源获得 404 个响应,但 html 文件本身应该 NOT产生那个结果。相反,您应该看到页面在没有这些资源的情况下呈现,每个资源都会在您的浏览器开发人员工具中显示自己的 404,但只有 after 成功加载 html .
有多种方法可以修复额外丢失的资源。这里有两个:
使用相对引用(
img/SomeImage.png
而不是/img/SomeImage.png
或完整的 URL)使用
base
标签将根目录重置为当前位置 (<base href="//localhost:5000/Page1/">
)。这属于head
为 html。