Como crear tu pagina personalizada de “Error 404″ (Pagina no encontrada) en MOSS 2007
18 September 2009 at 12:46 AM 2 comments
El día de hoy aprendí a redireccionar las páginas de error 404 en SharePoint.
La verdad es muy útil cuando por ejemplo Google tiene en cache una página de tu sitio que ya no existe, o cuando el usuario se equivoca al teclear el URL directamente en el explorador
Aquí les van los pasos para tener su página personalizada de Error 404 con SharePoint
- Primero deben de crear una página en su librería de Pages en SharePoint, la personalizan con el estilo de su sitio, y le ponen un mensaje de error o de página no encontrada. En mi caso cree la pagina Error.aspx.
- Ahora en el servidor donde tengan el sitio de SharePoint, en el folder de Layouts (%systemdrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\) se crea una pagina ASPX para redireccionar a la página personalizada de error. Por ejemplo, yo creé redireccionar404.aspx.
Esta pagina debe tener el código de redireccionamiento a su página de SharePoint. En mi caso, usé un simple javascript: - En la misma dirección de Layouts, hay un folder llamado \1033 . Aqui se localiza el archivo sps404.html, se tiene que hacer una copia de este archivo, y guardarlo con un nombre representativo, por ejemplo: miSitio404.html
Este archivo contiene un script de redirección STSNavigate, y tenemos que cambiar el parámetro que trae por default (“/_layouts/spsredirect.aspx?oldUrl=” + requestedUrl) por la dirección de la página redireccionar404.aspx. Esto es:
STSNavigate("/_layouts/redireccionar404.aspx"); - Hasta aquí hemos hecho solo el redireccionamiento (en dos pasos) hacia nuestra página de Error.aspx, ahora tenemos que decirle a SharePoint que la página de “FileNotFound” es miSitio404.html y no sps404.html. Para esto, crearemos una pequeña aplicación de consola para asignarle esta propiedad (FileNotFoundPage) a nuestra Web Application.
- El programa de consola sería algo como esto:
- Solo hay que correr la aplicación en el servidor donde esta el sitio, y proporcionar los parametros adecuados.

- Y listo, la próxima vez que busquen una página que no existe en su sitio, SharePoint los redireccionará a Error.aspx

<script type="text/javascript">location.href="/Pages/Error.aspx";</script>
string uriString = "";
Console.WriteLine("Uri String: ");
uriString = Console.ReadLine();
System.Uri webApplicationUri = new Uri(uriString);
SPWebApplication webApplication = SPWebApplication.Lookup(webApplicationUri);
string fnfPage = "";
Console.WriteLine("File Not Found Page name: ");
fnfPage = Console.ReadLine();
webApplication.FileNotFoundPage = fnfPage;
webApplication.Update();
Pues como ultimo tip, si hacen una prueba con una página de extensión asp, pueden esperar ver el error amarillo “The following file(s) have been blocked by the administrator”:

Tal vez ya lo saben, pero por si no…
para agregar archivos bloqueados, tienen que ir a Central Administration, Operations, y en el apartado de Security Configuration, seleccionar Blocked file types.

Luego de asegurarse que el sitio en cuestion esta seleccionado en el dropdown de la derecha, borrar de la lista el tipo “asp” (o el que necesiten) y seleccionar OK.

Espero que les sea de ayuda
Saludos!!
Entry filed under: How to, SharePoint, Tips and tricks. Tags: Error 404, File not found, Pagina no encontrada, SharePoint, SharePoint Error, SharePoint Español.
1.
edithcolegio | 14 October 2009 at 2:29 PM
Quiero dejar en claro un pequeño detalle, el path al que hago referencia en el punto 3 (\1033) se refiere al “Language ID” (LangID) del sitio que esten usando.
Por ejemplo, el 1033 es para sitios en Inglés, el 3082 para sitios en Español, 1036 para sitios en Francés, etc..
Despues de la aclaración, les dejo la lista completa de Lang IDs… http://msdn.microsoft.com/es-mx/goglobal/bb964664(en-us).aspx
2.
Gabriel | 21 October 2009 at 5:15 AM
Excelente, muy buen tip. Mil gracias.