繁体   English   中英

ASP.NET MVC 3 - 如果在IIS 7.5上部署为应用程序,则找不到图像

[英]ASP.NET MVC 3 - Images not found if deploy as application on IIS 7.5

我有一个ASP.NET MVC 3网站,它运行在http://localhost/ 我还有一个新项目(ASP.NET MVC3),我想将其部署为应用程序,因此url看起来像http://localhost/child/

但我的图像有问题。 如果我使用<img src="/content/img/site-logo.png" alt="logo" />图像,则图片不可用,因为实际的网址应为/child/content/img/site-logo.png

如果我把url放在Url.Content("~/content/img/site-logo.png")我可以解决它,但我现在不想改变我的所有图像。

这是一个更简单的解决方案吗? 一些IIS 7设置?

我遇到了同样的问题,但我发现它在Contents文件夹中强制进行身份验证的原因。

当用户尚未登录时,它们被归类为匿名身份验证。 在IIS7中(我正在使用它,猜测它在IIS6中是相同的)您需要在功能视图中打开身份验证窗口。 然后编辑匿名身份验证,使用您的应用程序池标识或默认身份验证,只需确保该用户有权读取该文件夹。

这对我来说是固定的,希望它适合你。

如果我把url放在Url.Content(“〜/ content / img / site-logo.png”)中我可以解决它,但我现在不想改变我的所有图像。

我不知道任何IIS设置,除了当然将应用程序设置为在IIS网站的根目录下运行。

在ASP.NET MVC应用程序中处理URL时,应始终使用url帮助程序。 所以你真的应该改变所有硬编码的网址,顺便说一下,这不包括图像,它也可以是你的javascript文件中的锚点href,表单动作,硬编码网址,...

您可以在root iis项目中创建虚拟目录,并将其指向带有图像的目录。 但是,你应该花更多的时间来清理你的图像路径,因为它可能会在将来再次咬你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM