IIS7 向 URL 添加乱码,导致 CSS 文件出现 404

Posted

技术标签:

【中文标题】IIS7 向 URL 添加乱码,导致 CSS 文件出现 404【英文标题】:IIS7 adds gibberish to URL, causes 404 for CSS files 【发布时间】:2015-02-04 01:17:21 【问题描述】:

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

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

基本上:

http://hostname/Sitename/default.aspx

变成

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

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

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

我托管了另外 2 个应用程序,它们也是通过 VS 发布的,它们的 URL 是正常的,即

http://hostname/Sitename/default.aspx

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

【问题讨论】:

您能否为不工作的页面显示 .aspx 标记和/或显示乱码..? 看起来您已配置为无 cookie。 msdn.microsoft.com/en-us/library/aa479314.aspx 是的,我使用 cookieless=false 添加了会话状态超时 【参考方案1】:

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

【讨论】:

以上是关于IIS7 向 URL 添加乱码,导致 CSS 文件出现 404的主要内容,如果未能解决你的问题,请参考以下文章

七夕咱一起验证漏洞✨ IIS7/7.5对文件名畸形解析导致远程代码执行❤️

七夕咱一起验证漏洞✨ IIS7/7.5对文件名畸形解析导致远程代码执行❤️

为防止iframe乱码,在asp文件头加了段编码指定.iis7马上给他500错误改过来也不行,是怎么回事?

IIS7 301 从 URL 列表重定向

IIS7 URL 重写 - 添加“www”前缀

URL传中文参数导致乱码的解决方案之encodeURI