如果到达ASP.NET应用程序的URL包含尾随句号 - “。”,则会从HttpRequest中的Url属性中截断它们。
例如,如果网址为“http://server/folder.../”,则会进行以下调用:
HttpContext.Current.Request.Url.PathAndQuery;
返回“/ folder /”而不是“/ folder ... /”。
尝试this解决方案,但只有在建议的代码执行后构建Uri才有用,而HttpRequest可能是在执行ASP.NET Web应用程序中的任何代码之前构建的。
任何想法如何保留尾随'。'在HttpRequest.Url?
答案 0 :(得分:0)
您可以将relaxedUrlToFileSystemMapping
添加到<system.web>
部分内的web.config。
<httpRuntime relaxedUrlToFileSystemMapping="true" />
这将保留网址中的点。
但由于某种原因Url.PathAndQuery
不包含点,而RawUrl包含它们。
HttpContext.Current.Request.Request.RawUrl;
请注意,启用relaxedUrlToFileSystemMapping
时可能会产生一些安全隐患。