Well, I’ve just built a lovely little HTTP Module that lets us redirect the application pages for a site or site collection to a new master page. I’m quite pleased, to be honest. Anyway, I noticed that the error pages in the site I was testing on were not using my new master page, so I started to examine this. I found that the error page (_layouts/error.aspx) is busy using simple.master. WTF?
It makes sense, I guess. You do need a master page which doesn’t run in an authenticated context, and a brief check shows that this is the master pages for the out-of-box Forms authentication page.
I decided to check out if there were other master pages in Layouts – and there were. My list of master pages is now:
- Default.master – used in normal sites. Often replaced for publishing sites.
- MwsDefault.master – use in Meeting Workspaces. Awkward to replace, but can be done through code or SharePoint designer.
- Application.master – used in ‘administration’ pages, and sometimes pages such as ‘View all site contents’, Recycle bin, and uploading a file.
- Simple.master – used in pages that need to run in an unauthenticated context – such as error pages, or forms authentication pages.
- sspadmin.master – seems to be used editing audiences, in excel services configuration, in profile administration, and handful of other places.
- layouts.master – no idea what this is for. Can’t find where it is used!
- dialog.master – used in the little pop-up dialogs, such as when you’re adding or editing a Hyperlink.
- pickerdialog.master – used in pop-up dialogs such as the web part gallery, or selecting users.
The master pages in italics are comparatively easy to replace; the rest are much more difficult. And try as I might, I couldn’t change the master page for Errors in my HTTP Module. I guess what I’ll do is write another one to redirect errors to my own custom-branded error page.