C# 如何获取规范链接href的RawUrl减去QueryString?

C# 如何获取规范链接href的RawUrl减去QueryString?,c#,asp.net,seo,C#,Asp.net,Seo,我正在尝试以以下格式向母版页的页眉添加规范链接(基本上删除任何querystring参数): 我尝试过使用Request.RawUrl,但这会返回查询字符串和友好url。规范链接的全部目的是显示要索引的页面的首选版本,在我们的例子中,这是URL减去querystring中的任何内容。友好的URL使这个问题变得复杂,因为我认为它限制了我使用Request.RawUrl,除非有人能告诉我不同的内容?使用您的Uri类并从中删除查询字符串: Uri uri = HttpContext.Request.U

我正在尝试以以下格式向母版页的页眉添加规范链接(基本上删除任何querystring参数):


我尝试过使用Request.RawUrl,但这会返回查询字符串和友好url。规范链接的全部目的是显示要索引的页面的首选版本,在我们的例子中,这是URL减去querystring中的任何内容。友好的URL使这个问题变得复杂,因为我认为它限制了我使用Request.RawUrl,除非有人能告诉我不同的内容?

使用您的
Uri
类并从中删除查询字符串:

Uri uri = HttpContext.Request.Url;
string friendlyUrl = uri.OriginalString.Remove(uri.OriginalString.IndexOf(uri.Query));

我认为您需要该属性。AbsolutePath的问题是它将返回绝对文件名,如“friendly name.aspx”,而不是友好URL“friendly name/”:(
http://www.domain.com/friendly-url/?source=google
Uri uri = HttpContext.Request.Url;
string friendlyUrl = uri.OriginalString.Remove(uri.OriginalString.IndexOf(uri.Query));