我有一个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 回答
经过一番研究和数小时的挫折 . 我发现版本7.2.2中需要新设置:
表:PortalLocalization现在包含两个字段:Custom404TabId和Custom500TabId,这些字段需要使用PortalSetting AUM_ErrorPage404,AUM_ErrorPage500的相同值进行更新,因此如果您从下面的版本升级到7.1,则可能需要自己更新这些字段 .
希望这能节省时间 . 以色列加西亚
好的,我让它上班了!
上面的脚本做了诀窍:
The missed step:
添加设置后AUM_ErrorPage404我必须清除缓存并重新启动应用程序 . 现在它有效 .