【问题标题】:How can I create a persistent vanity URL in DotNetNuke?如何在 DotNetNuke 中创建持久的虚 URL?
【发布时间】:2011-04-23 02:33:51
【问题描述】:

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

【问题讨论】:

    标签: dotnetnuke friendly-url vanity-url


    【解决方案1】:

    开箱即用的最接近的方法是在 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 部分中的基础 url。您需要小心查询字符串参数中的XML escape character '&'。

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

    【讨论】:

    • 完美,这正是我想要的。不知何故,我没有意识到它是这样工作的。也许我几年前就忘了:)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-03-09
      • 2012-04-05
      • 1970-01-01
      • 2022-12-15
      • 2011-04-21
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多