首页 文章

404的错误页面未显示

提问于
浏览
2

我有一个dnn 7.1.1安装我正在测试 生产环境 . 我认为这个版本支持404错误页面 . 但无论我传递给DNN网站的哪种类型的错误网址,我都不会在管理/网页管理下看到它 . 我是否必须在某些地方使用此功能?这是一个全新的安装,以下页面说它应该默认打开:DNN 404 wiki我在根web.config中找不到任何设置 . 高级URL提供程序已启用 .

有人可以帮我弄清楚如何实现这个404错误页面

提前致谢

编辑1:

有人可以确认7.1.1是此功能的最低版本,或者仅使用专业版,我使用的是DNN平台 .

编辑2:

有关DNN问题跟踪器的链接,请参阅HERE . 我已尝试使用新安装和7.0.6升级,问题仍然存在 . 如果你要求一个不存在的扩展资源,你会得到一个通用的asp服务器错误:

'/'应用程序中的服务器错误 . 无法找到该资源 . 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用 . 请查看以下网址,确保拼写正确 . 请求的URL:/blob.aspx

如果你请求一个像/ blob这样的扩展名的页面,你会得到两个错误之一:

404未找到
请求的Url不会返回任何有效内容 .
管理员
通过为此网站配置特定的404错误页面或URL来更改此消息 .
或者您要查找的资源已被删除,名称已更改或暂时不可用 .

在升级或全新安装中,站点的管理/页面管理部分中没有404error页面 . 新的安装部署了用于DNN 7.1.1的Azure网站库 .

我手动将7.0.6实例升级到7.1.1以获得其他测试环境 .

编辑3:

好的,所以我知道如何重现这一点 . 如果使用空白模板创建新门户/站点,则管理员/页面管理下没有404错误页面 . 如果使用默认的英语模板创建站点,则会在页面管理中列出404错误页面,并在请求死页时显示404页面 .

WHat I tried: 我将404错误页面从默认模板站点复制到空白模板站点,希望这可以解决问题 . 它没 . 所以现在我认为有一个设置需要在某个地方启用,但我知道它不在web.config文件中,因为这两个门户都在同一个dnn实例中,一个工作,另一个不工作,所以有另一个地方我必须找到这个 .

编辑4:

除了使用默认模板创建新站点并重新创建站点之外,我没有其他工作 . 看来这个错误计划由7.2.1修正,如文件HERE所示 .

编辑5:

我挖了一下数据库,看看能不能找到一个可以让这个工作的设置 . 我能找到的唯一设置是在门户设置中(称为“AUM_ErrorPage404”),因此我使用以下脚本复制它,但更改了portal和tabID以匹配使用空白模板创建的门户 .

这为门户网站设置添加了一个设置,为门户网站分配了错误页面 . 我找到了默认模板的此设置,而不是空白模板 . 所以我添加了它,希望它能解决我的问题 . 它没 .

INSERT INTO [dbo].[PortalSettings](
       [PortalID]
      ,[SettingName]
      ,[SettingValue]
      ,[CreatedByUserID]
      ,[CreatedOnDate]
      ,[LastModifiedByUserID]
      ,[LastModifiedOnDate]
      ,[CultureCode])
  VALUES (
       [PortalID]
      ,'AUM_ErrorPage404'
      ,[TabID of 404 Page I Created]
      ,[CreatedByUserID]
      ,getdate()
      ,[CreatedByUserID]
      ,getdate()
      ,'en-us')

我在默认模板中创建的页面的[TabSettings]中没有找到404error页面/选项卡的设置,事实上,在默认模板门户中创建的错误页面的tabSettings中没有记录 .

使用7.1中的默认模板创建的全新站点仅具有以下门户设置(带有值):

AUM_ErrorPage404    371
DefaultAdminContainer   [G]Containers/Gravity/Title_h2.ascx
DefaultAdminSkin            [G]Skins/Gravity/2-Col.ascx
DefaultPortalAlias          test404
DefaultPortalContainer  [G]Containers/Gravity/Title_h2.ascx
DefaultPortalSkin           [G]Skins/Gravity/2-Col.ascx
EnableSkinWidgets           True
GettingStartedPageShown True
GettingStartedTabId 346
MaximumVersionHistory   5
PortalAliasMapping          CANONICALURL
SearchAdminInitialization   true
TimeZone                            Pacific Standard Time

我不确定在数据库中查找设置为chnage的其他位置

2 回答

  • 4

    经过一番研究和数小时的挫折 . 我发现版本7.2.2中需要新设置:

    表:PortalLocalization现在包含两个字段:Custom404TabId和Custom500TabId,这些字段需要使用PortalSetting AUM_ErrorPage404,AUM_ErrorPage500的相同值进行更新,因此如果您从下面的版本升级到7.1,则可能需要自己更新这些字段 .

    希望这能节省时间 . 以色列加西亚

  • 1

    好的,我让它上班了!

    上面的脚本做了诀窍:

    INSERT INTO [dbo].[PortalSettings](
           [PortalID]
          ,[SettingName]
          ,[SettingValue]
          ,[CreatedByUserID]
          ,[CreatedOnDate]
          ,[LastModifiedByUserID]
          ,[LastModifiedOnDate]
          ,[CultureCode])
      VALUES (
           [PortalID]
          ,'AUM_ErrorPage404'
          ,[TabID of 404 Page I Created]
          ,-1
          ,getdate()
          ,-1
          ,getdate()
          ,'en-us')
    

    The missed step:

    添加设置后AUM_ErrorPage404我必须清除缓存并重新启动应用程序 . 现在它有效 .

相关问题