Dotnetnuke dnn-用于不存在页面重定向的自定义模块

Dotnetnuke dnn-用于不存在页面重定向的自定义模块,dotnetnuke,Dotnetnuke,我想创建dnn自定义模块,将一些旧的url-s重定向到新页面。 我知道如何创建datatable并向该表添加记录。该表包含旧url和新url字段以及必需的数据。例如:www.domain.com/oldurl、www.domain.com/newurl 如果我在模块视图中使用重定向,那么我只能将现有页面重定向到新页面,并且为此我不需要定制模块 我的问题是:如何覆盖或使用我可以截获请求并使用自定义dnn模块重定向的内容 ======编辑===== 我还发现:dnnurlproviders 这仍然在

我想创建dnn自定义模块,将一些旧的url-s重定向到新页面。 我知道如何创建datatable并向该表添加记录。该表包含旧url和新url字段以及必需的数据。例如:www.domain.com/oldurl、www.domain.com/newurl

如果我在模块视图中使用重定向,那么我只能将现有页面重定向到新页面,并且为此我不需要定制模块

我的问题是:如何覆盖或使用我可以截获请求并使用自定义dnn模块重定向的内容

======编辑=====

我还发现:dnnurlproviders
这仍然在某个地方维护吗?

进行自定义重定向的答案是创建自定义ExtensionUrlProvider

以下是一些有用的链接:

dnn 9.0.0和dnn 9.0.1之后缺少的自定义ExtensionUrlProvider的和设置位于:

搜索引擎优化>网址管理

===========================


此外,为了在iis中处理旧.php链接的重定向,必须在iis中创建新的处理程序映射。只需使用PageHandlerFactory并使用*.php路径进行复制。

您也可以在不编写模块的情况下执行此操作,只需将记录添加到DNN中的TABURLS表中即可

INSERT INTO dbo.TabUrls (   TabId ,
                            SeqNum ,
                            Url ,
                            QueryString ,
                            HttpStatus ,
                            CultureCode ,
                            IsSystem ,
                            PortalAliasId ,
                            PortalAliasUsage ,
                            CreatedByUserID ,
                            CreatedOnDate ,
                            LastModifiedByUserID ,
                            LastModifiedOnDate
                        )
VALUES (   ###,         -- TabId - int
           3 ,         -- SeqNum - int
           N'/OLDURLHERE' ,       -- Url - nvarchar(200)
           N'' ,       -- QueryString - nvarchar(200)
           N'301' ,       -- HttpStatus - nvarchar(50)
           N'' ,       -- CultureCode - nvarchar(50)
           1 ,      -- IsSystem - bit
           null ,         -- PortalAliasId - int
           0 ,         -- PortalAliasUsage - int
           1 ,         -- CreatedByUserID - int
           GETDATE() , -- CreatedOnDate - datetime
           0 ,         -- LastModifiedByUserID - int
           GETDATE()   -- LastModifiedOnDate - datetime
       )