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

时间:2010-10-08 21:28:28

标签: dotnetnuke friendly-url vanity-url

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

这就是我的想法:

  1. 我想指点人们:http://mywebsite.com/awesome
  2. 我希望基础网址为http://mywebsite.com/genericpage.aspx?key=awesome&etc=etc
  3. 希望网址重定向。我希望用户只能看到http://mywebsite.com/awesome
  4. 基本上我设想管理员能够创建这些虚荣URL并指定虚荣URL是什么以及底层URL是什么。

2 个答案:

答案 0 :(得分:3)

最接近开箱即用的是在DotNetNuke根目录中的 SiteUrls.config 中定义您的友好网址。

这样:

  1. 你指的是: http://mywebsite.com/awesome.aspx
  2. 您有一个基础网址 http://mywebsite.com/Default.aspx?tabid=ID&etc=etc
  3. 用户看到: http://mywebsite.com/awesome.aspx
  4. 主要限制是您将拥有.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'&amp;'在查询字符串参数中。

    第三方扩展程序(如URL Master提供了更精细的控制,您可以根据页面名称建立全局友好网址方案,包括或不包含.aspx扩展名。然而,如果你有自定义模块具有URL依赖性,那么一个简单的“一次一个url”方法会更安全。

答案 1 :(得分:0)

ActiveSocial支持这些,我认为我在IFinity的URL Master的2.x版本中看到了对此的支持,但我现在找不到任何内容。