代码之家  ›  专栏  ›  技术社区  ›  Ian Robinson

如何在DotNetNuke中创建持久的虚荣URL?

  •  3
  • Ian Robinson  · 技术社区  · 16 年前

    我不知道在DotNetNuke中实现自定义持久虚url的解决方案(我的术语,不确定它们是否真的被称为)。有人知道解决办法吗?它可以配置核心,使用第三方模块,或者建议如何从头开始编写。

    以下是我的想法:

    1. 我想指出人们: http://mywebsite.com/awesome
    2. 我希望下面的URL是 http://mywebsite.com/genericpage.aspx?key=awesome&etc=etc
    3. 我 不要 希望URL重定向。我想让用户看到 http://mywebsite.com/awesome 只有。

    本质上,我设想管理员能够创建这些虚荣URL,并指定虚荣URL是什么以及底层URL是什么。

    2 回复  |  直到 16 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    最接近的,开箱即用的,是在 SiteUrls.config网站 在DotNetNuke根中发现。

    这种方式:

    1. 你让人们注意到: http://mywebsite.com/awesome.aspx
    2. 您有一个基础URL http://mywebsite.com/Default.aspx?tabid=ID&etc=etc
    3. 用户看到: http://mywebsite.com/awesome.aspx

    主要限制是您将具有.aspx扩展名。

    SiteUrl.config网站规则如下:

    <RewriterRule>
        <LookFor>.*/awesome.aspx</LookFor>
        <SendTo>~/default.aspx?tabid=ID&amp;etc=etc</SendTo>
    </RewriterRule>
    

    重写器规则将传入的url与LookFor部分中的正则表达式匹配,并将其发送到SendTo部分中的基础url。你要小心 XML escape character 查询字符串参数中的“&”。

    第三方扩展,如 URL Master 提供更细粒度的控制,您可以拥有基于页面名称的全局友好的url方案,可以使用或不使用.aspx扩展名。不过,如果您有具有url依赖项的自定义模块,那么简单的“一次一个url”方法可能更安全。

        2
  •  0
  •   EfficionDave    16 年前

    ActiveSocial支持这些,我想我在IFinity的URL Master的2.x版中看到了一些关于对它的支持,但是现在我在上面找不到任何东西。

    推荐文章