如何忽略路由中格式不正确的查询字符串

How to Ignore Improperly Formatted Query String in Route

我遇到外部博客错误链接到网站的问题。它的链接缺少“?”在 Google Analytics Campaign Source 的查询字符串中。这会导致 .Net 页面无法显示并出错。

他们的链接缺少“?”

  www.example.com/seoFriendlyRoute&CS_002=123456&CS_010=[987654]

问题是 &CS_002=123456&CS_010=[987654] 没有 ?.

我希望路由能够处理此问题,以便它显示页面、忽略末尾的垃圾(或者更好的是修复它),并且不会引发错误。

我可以用 Route.Config 做这个吗?

我需要重写 URL 吗?希望避免这种情况。

我已联系博客解决此问题,但我还想在未来验证该页面是否存在其他此类问题。

从这里得到答案: Getting "A potentially dangerous Request.Path value was detected from the client (&)"

<system.web>
    <httpRuntime requestPathInvalidCharacters="&lt;,&gt;,%,,:,\,?" />
</system.web>

并从被阻止的字符中删除了 &。