dnn - Пользовательский модуль для перенаправления несуществующей страницы - PullRequest
0 голосов
/ 08 мая 2018

Я хочу создать специальный модуль dnn, который будет перенаправлять некоторые старые URL-адреса на новые страницы. Я знаю, как создавать таблицы данных и добавлять записи в эту таблицу. В таблице есть поля old-url и new-url с необходимыми данными. например: www.domain.com/oldurl, www.domain.com/newurl

если я использую перенаправление внутри представления модуля, тогда я могу перенаправить только существующие страницы на новые страницы, и для этого мне не нужно создавать пользовательский модуль ...

Мой вопрос: что переопределить или использовать, чтобы я мог перехватить запрос и сделать перенаправление с помощью специального модуля dnn?

===== РЕДАКТИРОВАТЬ =====

Я тоже нахожу это: dnnurlproviders https://archive.codeplex.com/?p=dnnurlproviders Это еще где-то поддерживается?

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Вы также можете сделать это без написания модуля и простого добавления записей в таблицу TABURLS в DNN.

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
       )
0 голосов
/ 08 мая 2018

Ответом для создания пользовательского перенаправления является создание собственного ExtensionUrlProvider.

Некоторые полезные ссылки:

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

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

и настройки для пользовательского ExtensionUrlProvider отсутствуют в dnn 9.0.0 и после dnn 9.0.1:

SEO> Управление URL-адресами

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

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

также для обработки перенаправления для старых ссылок .php в iis необходимо создать новые сопоставления обработчиков в IIS. Просто возьмите PageHandlerFactory и скопируйте его с помощью * .php Path.

...