2010-10-08 78 views
3

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

下面是我在想什么:

  1. 我想点的人:http://mywebsite.com/awesome
  2. 我想下面的网址是http://mywebsite.com/genericpage.aspx?key=awesome&etc=etc
  3. 想要的网址,以重定向。我希望用户只能看到http://mywebsite.com/awesome

基本上我想象一下,管理员能够创建这些虚空URL并指定虚空URL是什么以及底层URL是什么。

回答

3

开箱即用的最接近的事情是在DotNetNuke根目录中找到SiteUrls.config中的友好网址。

这样:

  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底层网址。你需要注意查询字符串参数中的XML escape character'&'。

URL Master这样的第三方扩展提供了更加细致的控制,并且您可以根据页面名称使用全球友好的url方案,并可以使用或不使用.aspx扩展名。尽管如此,如果您拥有带URL依赖关系的自定义模块,一个简单的“一次一个url”方法可能会更安全。

+0

完美,这正是我所期待的。不知何故,我没有意识到它的工作方式。也许我几年前就忘了:) – 2010-10-10 16:05:53

0

ActiveSocial支持这些,我认为我在IFinity的URL Master的版本2.x中看到了一些关于这方面的支持,但我现在找不到任何东西。