ASP.NET MVC 5 在重定向时删除尾随句点

ASP.NET MVC 5 drops trailing period on redirect

我正在处理遗留系统中的字符串 ID。我在 web.config 中添加了 relaxedUrlToFileSystemMapping="true"runAllManagedModulesForAllRequests="true",当直接浏览到以句点结尾的路由(即 /view/company abc inc.)时修复了 404s。

RedirectToResult 正在删除实体 ID 的尾随句点。为什么是这样?如何重定向到以句点结束的路由?

更新:我注意到重定向中的 Location header 是错误的,但是生成它的 RedirectResult 是正确的:

HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=utf-8
Location: http://localhost:3000/view/apple%20inc

问题最终出现在 web.config 中。将 UseFullyQualifiedRedirectUrltrue 更改为 false 修复了它。