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