【发布时间】: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”,它可能会起作用,但它不允许在别名中使用斜线字符。
【问题讨论】:
-
您可以使用失败的请求跟踪来查看详细的错误信息。 Using Failed Request Tracing to Trace Rewrite Rules.