我在生产网站上每小时看到几次这个错误,我不太确定如何修复它。我已经使用了源代码,我没有在代码中的任何地方使用“../”来生成路径。
我的应用程序在Win2003 Server上的IIS6上运行。它使用URLRewriter.Net来允许网站拥有友好的URL,我想知道这是否会导致问题。
我已经谷歌搜索了一个解决方案,并找到了几种可能性,但没有一个对我有用。
我已经尝试创建一个新的App_Browser文件来强制标签编写器设置使用特定的HtmlTextWriter,正如最流行的解决方案之一所示,但这对我没有用。我还没有看到任何其他可能的解决方案。
答案 0 :(得分:3)
这可能是由于使用了“〜/ something”,可能是在Hyperlink控件上。当物理文件与友好URL位于不同的目录级别时,ASP.NET在其生成的相对URL中使用了太多../,导致此错误。如果您不能仅使用绝对URL,我相信您可以使用Page.ResolveUrl(“〜/ foo / bar”)来获取正确的相对URL。
答案 1 :(得分:1)
只需在您网站的ASP设置中将启用父路径设置为True
即可这解决了我的问题
答案 2 :(得分:0)
使用反射器挖掘URLRewriter.Net代码。
答案 3 :(得分:0)
我会再次给你的重写路径一次,看看是否有一个路径包含一个文件夹,该文件夹不存在,已被删除或实际上在Web应用程序之外。你能在这里发布重写规则吗?
答案 4 :(得分:0)
您确定导致错误吗?一些脚本(Code Red / Nimda)在互联网上搜索一个看起来像错误的URL遍历。
这是内部还是外部?您的机器是否可能被扫描?
答案 5 :(得分:0)
我能够通过安装.NET 3.5 SP1解决此问题。