我正在将旧的asp.net网站从Windows 2003迁移到Windows 2008 R2。
有些网页有'&'在网址上它在2003年工作正常,但在2008年任何'&'在'?'之前给出“错误请求”。
这些页面对网站流行度有严重影响,所有访问的7%从此处开始,因此在不更改网址的情况下正确处理它们非常重要。 有关如何在iis7 / asp.net 2.0上处理此类网址的任何想法吗?
PS:validateRequest不起作用
答案 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
其他人应该通过设置名称(例如AllowRestrictedCharacters
,ValidateRequest=False
)对风险不言自明:
那就是说,您应该考虑更新这些“遗留”网址并执行301
永久重定向以说明您的搜索引擎优化/受欢迎程度......