我们如何在 SharePoint 中为以下内容自定义错误页面:
错误请求 400
未经授权的401
禁止403
未找到 404(通过SharePoint 404解决)
内部错误 500
未实施 501
服务不可用 503
虽然我知道如何自定义 404 页面,但如何以及如何自定义列出的其他错误页面的最佳方式是什么?
通过web.config?单独的控制台应用程序?Stsadm 命令?
我们如何在 SharePoint 中为以下内容自定义错误页面:
错误请求 400
未经授权的401
禁止403
未找到 404(通过SharePoint 404解决)
内部错误 500
未实施 501
服务不可用 503
虽然我知道如何自定义 404 页面,但如何以及如何自定义列出的其他错误页面的最佳方式是什么?
通过web.config?单独的控制台应用程序?Stsadm 命令?
对于SharePoint 2010,以下博客文章提供了一些创建自定义错误页面的解决方案:
可以通过具有以下代码片段的功能激活自定义错误页面:
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWebApplication webApp = properties.Feature.Parent as SPWebApplication;
if (null != webApp)
{
if(!webApp.UpdateMappedPage(SPWebApplication.SPCustomPage.Error, CustomErrorPage))
{
throw new ApplicationException("Cannot create new error page mapping !!");
}
webApp.Update(true);
}
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPWebApplication webApp = properties.Feature.Parent as SPWebApplication;
if (null != webApp)
{
if (!webApp.UpdateMappedPage(SPWebApplication.SPCustomPage.Error, null))
{
throw new ApplicationException("Cannot reset error page mapping");
}
webApp.Update(true);
}
}
对于SharePoint Server 2007,推荐的方法是创建自定义 HttpModule,如以下博客文章中所述: