【问题标题】:.NET CORE 3.1 Virtual Directory 404 error.NET CORE 3.1 虚拟目录 404 错误
【发布时间】:2021-05-20 20:26:33
【问题描述】:

我们有一个由 IIS 托管的已发布 .NET Core 3.1 网站。根文件夹(包含 DLL)是: c:\qa\web\

否则我们的文件夹如下:

  • c:\qa\web\wwwroot\css
  • c:\qa\web\wwwroot\js

在 IIS 中,我们创建了一个名为“images”的虚拟目录。该网站可以通过http://localhost访问

我们可以正确查看单个文件:

  • http://localhost/js/brand.js
  • http://localhost/css/main.css

但是,当我们尝试查看虚拟目录中的文件时,我们得到了 404:

http://localhost/images/foo.jpg

但是如果我们在 URL 中插入“/wwwroot”,我们可以毫无问题地看到虚拟目录的内容:

http://localhost/wwwroot/images/foo.jpg

为什么我们在 URL 中需要“wwwroot/”?当我们从 Visual Studio / IIS Express 运行同一个网站时,我们不需要在 URL 中添加“wwwroot/”来查看 /images/foo.jpg

我想如果我们将虚拟目录别名设置为“wwwroot/images”,它可能会起作用,但它不允许在别名中使用斜线字符。

【问题讨论】:

标签: iis .net-core


【解决方案1】:

确保在站点级别创建虚拟目录。 看起来它嵌套在 wwwroot 文件夹中。 试试这个 - 右键单击​​站点 --> 添加虚拟目录 --> 别名:图像,物理路径:c:\qa\web\wwwroot。在此之后,您应该可以访问 http://localhost/images/js/brand.js、http://localhost/images/css/main.css 等下的图像。

如果没有帮助,请考虑将静态文件保存在应用程序根文件夹之外的不同文件夹中,并创建与其链接的虚拟目录。

【讨论】:

  • 它是在站点级别创建的。
  • 失败的请求跟踪是解决问题的有用方法。
猜你喜欢
  • 2020-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-22
  • 2017-05-08
  • 1970-01-01
  • 2023-03-31
相关资源
最近更新 更多