3

我不知道在 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 是什么。

4

2 回答 2

3

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

这边走:

  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 转义字符“&”。

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

于 2010-10-09T09:35:45.150 回答
0

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

于 2010-10-08T22:27:01.937 回答