我有一个在 Windows Server 2008 上的 IIS7 中运行的 Web 应用程序。有一个虚拟目录指向另一台计算机(运行 Windows Server 2003)上的共享文件夹“/Content/Data”,以及本地计算机(Web 应用程序子文件夹)上的真实目录“/Content/Images”。
访问“/Content/Images”中的图像没有问题,但是当浏览器访问“/Content/Data”中的图像(例如 JPEG 文件)时,IIS 返回此错误:
HTTP 错误 403.1-禁止:执行访问被拒绝。
但是,Web 应用程序可以读取和写入它。我假设 IIS 和 ASP.NET 在不同的用户帐户下运行?
有人知道我该怎么做才能让它工作吗?我已将共享文件夹的权限设置为“所有人完全控制”,但没有成功。
答案1
听起来好像某些东西已经配置了 IIS 来将.jpg
文件类型映射到可执行文件(可以是 .NET、CGI、ISAPI 等)。
对于 IIS Web 应用程序的根目录,检查处理程序映射中与您所请求的文件的 URL 匹配的路径。
(该错误是由于 IIS 配置为不允许运行代码来满足 HTTP 请求。可以创建一个处理程序以*jpg
允许动态生成图像或从数据库加载图像,而不仅仅是提供静态文件。)