【问题标题】:want to access user friendly url想要访问用户友好的 url
【发布时间】:2011-11-24 05:07:41
【问题描述】:

我重新编写了 URL,以便它们对用户友好。我想访问显示在地址栏上的用户友好 URL。

通过使用

 HttpContext.Current.Request.Url.AbsoluteUri

,我得到带有查询字符串参数的 URL,例如 http://mydomain.com/default.aspx?id=3 .... 但我想要 http://http://mydomain.com/default/3/ ... 我该怎么做?

【问题讨论】:

    标签: asp.net url umbraco


    【解决方案1】:

    您需要使用 Uri.AbsolutePath 而不是 AbsoluteUri。

    AbsolutePath 属性包含路径信息 服务器用于解析信息请求。通常这是 服务器文件系统上所需信息的路径,尽管 它还可以指示服务器必须运行到的应用程序或脚本 提供信息。

    路径信息不包括方案、主机名或查询 URI 的一部分。

    这将允许您将 Uri.Host 与 Uri.AbsolutePath 结合起来,例如:

    Response.Write("http://" + Request.Url.Host + Request.Url.AbsolutePath);
    

    对于网络应用程序,这假设您使用端口 80。如果您可以使用其他端口,则还必须包括对 Url.Port 的调用。

    【讨论】:

    • HttpContext.Current.Request.Uri.AbsolutePath;显示错误....无法使用这个....我做错了吗?
    • 您使用的是什么版本的 .NET?我假设您使用的是 .NET 4,因为没有标记特定版本。
    • 我在 Umbraco CMS 中使用它。使用这个........“http://” + Request.Url.Host + Request.Url.AbsolutePath .. . . 没有得到带有参数的 userfireldy url.... 像mydomain.com/default/param
    • @ghetal 尝试使用 HttpContext.Current.Request.Url(属性是 URL,但类型是 URI)。另外,您的 CMS 使用什么语言?我从未使用过它,所以我不确定如何给你一个直接的代码块。
    猜你喜欢
    • 2015-02-23
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2010-11-07
    • 2015-01-31
    • 1970-01-01
    相关资源
    最近更新 更多