IIS7为URL添加了乱码,导致CSS文件为404

时间:2014-12-05 19:22:27

标签: c# css asp.net iis web

我有一个C#Web应用程序,在VisualStudio托管时运行良好。

当我在IIS上托管它时,指向我的CSS样式表的链接会返回404错误。

基本上:

http://hostname/Sitename/default.aspx

成为

http://hostname/Sitename/(S(ubd3fhzfs04ebb1qzfsjlsse))/default.aspx

我不知道可能会发生什么变化,但这种情况在几周前发布之后就开始发生了。

我尝试删除网站文件夹并重新发布。

我还有两个托管的其他应用程序也是通过VS发布的,它们的URL是正常的,即

http://hostname/Sitename/default.aspx

据我所知,web.configs和IIS设置对于所有站点都是相同的。

1 个答案:

答案 0 :(得分:1)

该URL包含会话cookie ID,它是由无cookie会话引起的(Cookie被禁用,自动检测启动,或者您明确设置无Cookie会话,或者它是由特定于设备的ASP.NET配置引起的)。可以通过更改会话设置来简单地修复它。但是,我还会将我的静态文件引用修复为相对而不是绝对,因此它们不会在不同的设置中导致404错误。无Cookie的URL由ASP.NET透明处理,因此只有当您使用硬编码的绝对URL时,它们才会自行导致404错误,这无论如何都是不好的做法。