【问题标题】:Redirecting legacy URLs in DotNetNuke在 DotNetNuke 中重定向旧版 URL
【发布时间】:2015-01-06 19:32:10
【问题描述】:

我们正在 DotNetNuke 中构建旧网站的改进版。有许多页面链接到我们旧站点上的页面,我们希望这些旧 URL 仍能指向新站点上的相关信息。旧的 URL 以各种扩展名结尾,有时甚至没有扩展名(我们的旧网站是几个平台和静态文件的混合体)。是否存在允许此类重定向的 DNN 插件?友好的 URL 并不完全足够。

注意:我意识到这可以在 IIS 中处理,但我们希望我们的非编码人员、非管理员站点管理员能够动态处理。

【问题讨论】:

    标签: url redirect admin dotnetnuke


    【解决方案1】:

    你可能想要使用这样的模块

    http://www.dnnsoftware.com/forge/open-url-rewriter-for-dnn-dotnetnuke/view/extensiondetail/project/openurlrewriter

    不过还有另一种选择。其实你可以直接把URL记录放到数据库里,我相信你只要在TabUrls表中添加一条记录,TABID就是你要指向的DNN中的页面。然后输入 URL 和 301 的 HTTPStatus。

    如果您知道在 DNN 中需要将它们映射到何处,则可以对所有旧页面执行此操作。

    【讨论】:

    • 我们遇到的具体问题是我们的一些旧 URL 以“.html”结尾,而另一些则没有。我们检查过的解决方案仍然会导致以文件扩展名结尾的 URL 出现 404 错误。
    • @Chris 有没有关于TabUrls 表的相关文档/教程?在我的上一个项目中,我可以将 /PageName/Id/10 之类的旧网址重定向到 /PageName/10,但不能对 /PageName?id=10 做同样的事情(显然我不想使用任何模块或编写任何重定向代码 i>)
    【解决方案2】:

    您必须通过 ASP.NET 管道强制所有请求,您可以通过仅将这一行添加到应用程序的 web.config 来做到这一点:

    <system.webServer> 
    
     <modules runAllManagedModulesForAllRequests="true" />
    
    </system.webServer>
    

    【讨论】:

      猜你喜欢
      • 2016-10-13
      • 1970-01-01
      • 2014-04-01
      • 2011-04-22
      • 2017-08-10
      • 2021-11-02
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多