我的所有应用程序都运行良好,但是突然间,IIS下的所有站点都没有加载CSS,图像,脚本。它重定向到登录页面。
如果我登录,效果很好。例如mysite.com/Account/LogOn?ReturnUrl=%2fpublic%2fimages%2ficons%2f41.png
在我的本地计算机上,无需登录即可正常工作。
我的所有应用程序都运行良好,但是突然间,IIS下的所有站点都没有加载CSS,图像,脚本。它重定向到登录页面。
如果我登录,效果很好。例如mysite.com/Account/LogOn?ReturnUrl=%2fpublic%2fimages%2ficons%2f41.png
在我的本地计算机上,无需登录即可正常工作。
Answers:
问题可能是IIS不提供静态内容,您可以在此处设置:
资料来源:http://adilmughal.com/blog/2011/11/iis-7-not-loading-css-and-image/
Windows 10:
我遇到了同样的问题,当我在Windows Server 2012 R2上的IIS 8.5中的ASP.Net 4.5中安装Web应用程序时,未经身份验证的页面无法加载CSS,JS和图像。
然而,似乎没有什么能解决这个问题。最后,我尝试将匿名用户的身份设置为“应用程序池身份”,然后它开始工作。
我敲了几个小时的头,希望这种回应能为我的开发者们免除痛苦。
我真的很想知道为什么这样做。有什么想法吗?
CPUName\IIS_IUSRS
,但仍然无法加载。再次感谢!
我有一个类似的错误,我的控制台看起来像这样:
我的问题是,由于公司使用的是一个顶级域名,而没有子域名,所以我在一个子文件夹中运行我的网站。像这样:
host.com/app1
host.com/app2
我的代码看起来像这样,其中包括可以在localhost上正常运行的脚本,但不能在app1或app2中运行:
<link rel="stylesheet" type="text/css" href="/Content/css/font-awesome.min.css" />
~
在src中添加了波浪号,然后一切正常:
<link rel="stylesheet" type="text/css" href="~/Content/css/font-awesome.min.css" />
~
vs的解释/
:
/
-网站根~/
-应用程序的根目录/
将返回网站的根目录(http://host.com/
),
~/
将返回应用程序的根目录(http://host.com/app1/
)。
尝试从web.config中删除staticContent部分。
<system.webServer>
<staticContent>
...
</staticContent>
</system.webServer>
这可能无法回答您的问题,但是在安装新的IIS时,我一直以相同的症状震惊。CSS,JS和图像未显示。是由于IIS 7.5中未安装“静态内容”角色。
您可能在web.config中启用了Windows身份验证。在本地计算机上,将自动传递Windows凭据,并且它可以工作。在实时站点上,您将被视为匿名用户(IE设置可以控制此用户,但是除非您真的知道自己在做什么,否则请不要对其进行修改)。
这将导致以下情况:
这没有坏,只是按预期工作,而是要“修复”此问题:
将此添加到您的web.config
<location path="Images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
"~/Images"
在web.config文件的“配置”部分中使用此命令:
<location path="images">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="css">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
这是Windows权限问题,我将其移至继承错误权限的文件夹。当我移至wwwroot文件夹并向iis用户添加权限时,它开始正常工作。
desktop
到wwwroot
文件夹中,另外我已经添加完全控制网络服务,这是关系到应用程序池。
这是身份验证问题。就我而言,它可以通过以下步骤解决:1-转到IIS管理器,在左窗格中,展开服务器根目录,然后从“站点”节点中选择Web应用程序。2-在主屏幕中,转到IIS部分,然后选择身份验证。3-启用匿名身份验证。4-然后,选择编辑,并将编辑匿名身份验证凭据设置为应用程序池标识。
过去,在生产环境站点的副本上使用localhost测试环境开发站点时,我发现一个建议很有用。确保注释掉规范标签:
<!--<base href="http://www.example.com/">//-->
我app.UseStaticFiles();
将此代码添加 到Configure方法的starup.cs中,而不是固定的。
并检查您对此文件夹的许可。
对于图像使用
@Url.Content("~/assets/bg4.jpg")
在样式上使用此
style="background-image:url(@Url.Content("~/assets/bg4.jpg"))