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

标签 c# asp.net seo

我正在尝试以下列格式(基本上删除所有查询字符串参数)将规范链接添加到我的母版页的头部:

<link rel="canonical" href="http://www.domain.com/friendly-url/" />

假设有人通过以下 URL 访问了页面,我如何从 url 中删除查询字符串以便创建上面的规范链接?

http://www.domain.com/friendly-url/?source=google

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

最佳答案

获取您的 Uri 类并从中删除查询字符串:

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

关于c# - 如何获取规范链接 href 的 RawUrl 减去 QueryString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842597/

相关文章:

c# - 访问库函数时 char** 的编码问题

c# - 将 img/image 的 HTML 保存到磁盘

asp.net - 检测 ASP.NET 网站的出站连接排队

seo - 索引页中的微数据类型 NewsArticle 和双重内容组织

SEO - 通过 404 页面进行 301 重定向

asp.net - UrlRewriting 在服务器上不起作用,但在本地主机上它在 asp.net 上工作正常?

c# - 在 .NET 中序列化对象时省略所有 xsi 和 xsd namespace ?

c# - 如何使用 WCF 获取对已实例化的远程对象的引用?

c# - 从我的网站应用程序中引用 .pfx 文件

javascript - 这在 html 表单中意味着什么?