需要解决方法&在网址中,iis7

时间:2012-05-28 18:57:54

标签: asp.net iis-7 bad-request

我正在将旧的asp.net网站从Windows 2003迁移到Windows 2008 R2。

有些网页有'&'在网址上它在2003年工作正常,但在2008年任何'&'在'?'之前给出“错误请求”。

这些页面对网站流行度有严重影响,所有访问的7%从此处开始,因此在不更改网址的情况下正确处理它们非常重要。 有关如何在iis7 / asp.net 2.0上处理此类网址的任何想法吗?

PS:validateRequest不起作用

2 个答案:

答案 0 :(得分:1)

尝试在web.config中添加以下内容:

<system.web>
    <httpRuntime requestPathInvalidCharacters="*,:,\" />

    ...
</system.web>

请注意,我已从路径中的无效字符列表中删除了&

答案 1 :(得分:0)

Here's a link可能会让您找到您想去的地方,但如果您阅读了详细信息,我会亲自将其添加到“自行承担风险”类别中...... {{3} }:

  

重要说明:如果启用此修复程序,则会增加应用程序的攻击面。除非应用程序需要,否则不应启用此修复程序。

DWORD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET VerificationCompatibility = 1

其他人应该通过设置名称(例如AllowRestrictedCharactersValidateRequest=False)对风险不言自明:

那就是说,您应该考虑更新这些“遗留”网址并执行301永久重定向以说明您的搜索引擎优化/受欢迎程度......