我正在测试生产的dnn 7.1.1安装。我认为这个版本支持404错误页面。但无论我传递给DNN网站的哪种类型的错误网址,我都没有看到此页面出现,我在管理/页面管理下看不到它。我是否必须在某些地方使用此功能?这是一个全新的安装,以下页面说明默认情况下应该启用它:DNN 404 wiki 我在根web.config中找不到任何设置。已启用高级网址提供程序。
有人可以帮我弄清楚如何实现这个404错误页面
提前致谢
有人可以确认7.1.1是此功能的最低版本,或者仅使用专业版,我使用的是DNN平台。
有关DNN问题跟踪器的链接,请参阅HERE。我已尝试使用新安装和7.0.6升级,问题仍然存在。如果您要求不存在具有扩展名的资源,则会出现通用的asp服务器错误:
>应用程序中的服务器错误。无法找到资源。
描述:HTTP 404.您正在寻找的资源(或其中一个 依赖项)可能已被删除,其名称已更改,或者是 暂时不可用。请查看以下网址并制作 确保它拼写正确。
请求的网址:/blob.aspx
如果你请求一个像/ blob这样的扩展名的页面,你会遇到两个错误之一:
404 Not Found The requested Url does not return any valid content. Administrators Change this message by configuring a specific 404 Error Page or Url for this website.
OR
您要查找的资源已被删除,名称已有 已更改,或暂时无法使用。
在升级或全新安装中,站点的管理/页面管理部分中没有404error页面。新的安装部署在用于DNN 7.1.1的Azure网站库中。
我手动将7.0.6实例升级到7.1.1以获得其他测试环境。
好的,所以我知道如何重现这一点。如果使用空白模板创建新门户/站点,则管理员/页面管理下没有404错误页面。如果使用默认的英语模板创建站点,则会在页面管理中列出404错误页面,并在请求死页时显示404页面。
我试过的是什么: 我将404错误页面从默认模板站点复制到空白模板站点,希望这可以解决问题。它没。所以现在我认为有一个设置需要在某个地方启用,但我知道它不在web.config文件中,因为这两个门户都在同一个dnn实例中,一个工作,另一个不工作,所以有另一个地方我必须找到这个。
除了使用默认模板创建新网站并重新创建网站之外,我没有其他工作。看来这个错误计划由7.2.1修正,如记录HERE
我在数据库中挖掘,看看能否找到一个可以使这个工作的设置。我能找到的唯一设置是在门户设置中(称为“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的其他地方
答案 0 :(得分:4)
表:PortalLocalization现在包含两个字段:Custom404TabId和Custom500TabId,这些字段需要使用PortalSetting AUM_ErrorPage404,AUM_ErrorPage500的相同值进行更新,因此如果从以下版本升级到7.1,则可能需要更新这些字段自己。
希望节省时间。 以色列加西亚
答案 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')
错过的步骤:
添加AUM_ErrorPage404的设置后,我必须清除缓存并重新启动应用程序。现在它有效。