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对文件名畸形解析导致远程代码执行❤️