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 :P

  1. 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.
  2. Pagina de error

  3. 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:
  4. <script type="text/javascript">location.href="/Pages/Error.aspx";</script>

  5. 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");
  6. 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.
  7. El programa de consola sería algo como esto:
  8. 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();

  9. Solo hay que correr la aplicación en el servidor donde esta el sitio, y proporcionar los parametros adecuados.
    Aplicacion de consola
  10. Y listo, la próxima vez que busquen una página que no existe en su sitio, SharePoint los redireccionará a Error.aspx :)

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”:
The following file(s) have been blocked by the administrator

Tal vez ya lo saben, pero por si no… :P para agregar archivos bloqueados, tienen que ir a Central Administration, Operations, y en el apartado de Security Configuration, seleccionar Blocked file types.
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.
Blocked file types

Espero que les sea de ayuda :)

Saludos!!

Advertisement

Entry filed under: How to, SharePoint, Tips and tricks. Tags: , , , , , .

SharePoint Meta tags en SharePoint

2 Comments Add your own

  • 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

    Reply
  • 2. Gabriel  |  21 October 2009 at 5:15 AM

    Excelente, muy buen tip. Mil gracias.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Feeds

Enter your email address to subscribe to this blog and receive notifications of new posts by email.


Follow

Get every new post delivered to your Inbox.