Partager via


SharePoint 2013: La gestion native des pages d’erreur 404 (fr-FR)

SharePoint 2013 introduit une nouveauté qui permet de gérer nativement les pages d’erreur 404.

Le principe

Sur un site de publication (ou sur un site sur lequel les features de publication ont été activées), une page nommée "PageNotFoundError.aspx" est créée dans la bibliothèque de pages du site, basée sur le layout "Error".

http://spasipe.files.wordpress.com/2012/12/0.png?w=595&h=204

Comme le nom de la page l’indique, vous serez redirigés sur cette page si vous tentez d’accéder à une page du site qui n’existe pas (la fameuse erreur 404).

http://spasipe.files.wordpress.com/2012/12/1.png?w=595&h=176

Cette page d’erreur est customisable, comme tout autre page.

J’édite ici la page (PageNotFoundError.aspx, donc) et j’ajoute une image; je tente de nouveau d’accéder à une page inexistante dans le site

http://spasipe.files.wordpress.com/2012/12/2.png?w=595&h=365

Rien de bien compliqué dans cette gestion des erreurs 404 : une page créée par défaut, et customisable. Easy.

Type de contenu associé

La création d’une page d’erreur 404 s’effectue en utilisant le type de contenu "Error Page", qui hérite du modèle "Page".

Vous pouvez aller voir ce type de contenu via "Site Settings > Site content types"

http://spasipe.files.wordpress.com/2012/12/3.png?w=595

Vous retrouvez dans la liste le type de contenu

http://spasipe.files.wordpress.com/2012/12/4.png?w=595Si vous cliquez sur son nom, vous accédez à ses propriétés et notamment à sa description explicite

http://spasipe.files.wordpress.com/2012/12/5.png?w=595

Créer une nouvelle page d’erreur 404

Dans la bibliothèque de pages, cliquez sur "New Document", puis sur "Error Page".

http://spasipe.files.wordpress.com/2012/12/8.png?w=595

Saisissez un titre pour la page, le bon layout est sélectionné par défaut; cliquez sur "Create".

http://spasipe.files.wordpress.com/2012/12/9.png?w=595&h=428

La page est créée, vous pouvez alors la customiser et la publier.

Définir la page d’erreur par défaut

Vous pouvez créer plusieurs pages d’erreur 404 dans votre site, mais pour définir celle qui sera utilisée par défaut, vous ne pouvez pas passer par l’interface; si vous supprimez la page créée par défaut en espérant que la page que vous venez de créer s’appliquera automatiquement, vous risquez d’être déçu.

En effet dans ce cas vous vous retrouvez avec une page … 404 (La vraie cette fois :)), qui s’applique à la page "FileNotFoundError.aspx" que SharePoint ne trouve plus.

http://spasipe.files.wordpress.com/2012/12/10.png?w=595&h=270

Quelles solutions ?

Solution 1

Supprimez ou renommez la page d’erreur par défaut, et renommez celle que vous avez créée en tant que "PageNotFoundError.aspx".

Solution 2

Passez par du code, en utilisant la propriété "FileNotFoundUrl" de l’objet "SPSite" (voir l’article MSDN associé).

Pour ceux qui l’ignorent, l’objet "SPSite" représente une collection de site, dans le modèle objet de SharePoint.

Je cite la description de la propriété "FileNotFoundUrl" :

Get SPSite swerver relative Url or absolute URL to file not found page. This value is used as redirect URL for HTTP request where the resource can not be found.

Et pour les autres templates de site ?

Pour les sites créés avec un autre template que Publishing, activez les features de publication (scope collection de site et site), pour retrouver le même fonctionnement.

Conclusion

Une nouveauté intéressante que cette gestion native des pages d’erreur 404, facile à gérer, et surtout bien pratique !