我正在将旧的 asp.net 网站从 windows 2003 移动到 windows 2008 R2。
一些页面在 url 中有 '&',它在 2003 年运行良好,但在 2008 年任何 '&' 在 '?' 之前 给出“错误请求”。
这些页面对网站受欢迎程度有严重影响,所有访问的 7% 都是从这里开始的,因此在不更改 url 的情况下正确处理它们很重要。任何想法如何处理 iis7 / asp.net 2.0 上的此类网址?
PS:验证请求不起作用
我正在将旧的 asp.net 网站从 windows 2003 移动到 windows 2008 R2。
一些页面在 url 中有 '&',它在 2003 年运行良好,但在 2008 年任何 '&' 在 '?' 之前 给出“错误请求”。
这些页面对网站受欢迎程度有严重影响,所有访问的 7% 都是从这里开始的,因此在不更改 url 的情况下正确处理它们很重要。任何想法如何处理 iis7 / asp.net 2.0 上的此类网址?
PS:验证请求不起作用
尝试在 web.config 中添加以下内容:
<system.web>
<httpRuntime requestPathInvalidCharacters="*,:,\" />
...
</system.web>
请注意,我已从&
路径中的无效字符列表中删除。
这是一个链接,可能会让您到达您想去的地方,但是如果您阅读了详细信息,我会亲自将其添加到“您自担风险”类别中……至少其中一个采用 Microsoft 的话“修复”:
重要 如果启用此修复程序,则会增加应用程序的攻击面。除非应用程序需要,否则不应启用此修复程序。
DWORD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET VerificationCompatibility = 1
其他的应该只是通过设置名称(例如,)对风险进行自我解释:AllowRestrictedCharacters
ValidateRequest=False
也就是说,您应该考虑更新那些“旧版”网址并进行301
永久重定向以说明您的 SEO/受欢迎程度......