dnn - 用于未显示页面重定向的自定义模块

时间:2018-05-08 07:54:01

标签: dotnetnuke

我想创建一个dnn自定义模块,它会将一些旧的url-s重定向到新的页面。 我知道如何创建数据表并向此表添加记录。该表具有old-url和new-url字段以及所需数据。例如:www.domain.com/oldurl,www.domain.com/newurl

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

我的问题是:如何覆盖或使用我可以拦截请求并使用自定义dnn模块进行重定向?

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

我也发现了这一点:dnnurlproviders https://archive.codeplex.com/?p=dnnurlproviders 这仍然保留在某个地方吗?

2 个答案:

答案 0 :(得分:3)

您也可以不编写模块,只需将记录添加到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
       )

答案 1 :(得分:1)

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

一些有用的链接是:

http://www.dnnsoftware.com/answers/getting-started-with-dnnfriendlyurl-in-dnn-72x

http://www.dnnsoftware.com/answers/custom-extensionurlprovider

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

SEO>网址管理

https://dnntracker.atlassian.net/browse/DNN-9148?attachmentOrder=desc

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

还用于处理iis中旧的.php链接的重定向,您必须在IIS中创建新的Handler映射。只需使用PageHandlerFactory并将其复制为* .php Path。