BlogEngine - Remplacer la page Default.aspx

 01/01/2019 |   Admin |  C#


Si l'on modifie la page Default.aspx, la redirection des catégories et des tags ne fonctionnera plus.

Cela se produit si l'on désire intégrer un site web au blog par exemple.

Solution :

Dans le code les redirections se font vers la page Default, il faut donc renommer ces redirections vers la nouvelle page.

On va dire que la nouvelle page se nomme blog.aspx et que la page Default.aspx n'est plus lié au blog.

1) Il faut travailler sur le code source de BlogEngine :

- Ouvrir le fichier /Web/HttpModules/UrlRewrite.cs

- Renommer default.aspx par blog.aspx, SAUF le bloc à partir de la ligne 238 (pour la version 2.5, à 8 endroits environ) :

else 

{

string newUrl = url.Replace("Default.aspx", "default.aspx");  // fixes a casing oddity on Mono
int defaultStart = url.IndexOf("default.aspx", StringComparison.OrdinalIgnoreCase);
newUrl = Utils.ApplicationRelativeWebRoot + url.Substring(defaultStart);
 
context.RewritePath(newUrl);
}

- Rajouter devant ?tag le nom du nouveau fichier, à la ligne 198 : ?tag remplacer par : blog.aspx?tag

- Ouvrir le fichier /Web/Controls/PostViewBase.cs

- Rajouter devant ?tag le nom du nouveau fichier, à la ligne 343 : ?tag remplacer par blog.aspx?tag

- Compiler la solution, remplacer la DLL BlogEngine.Core.dll par la nouvelle (BlogEngine.NET 2.5 (source)\BlogEngine\BlogEngine.NET\Bin) au site web

2) Dans le site web

- Ouvrir le fichier App_Code/Controls/TagCloud.cs

- Rajouter devant ?tag le nom du nouveau fichier, à la ligne 138 : ?tag remplacer par blog.aspx?tag

- Idem pour le fichier widgets/Tag cloud/widget.ascx.cs

 

3) Publier les nouveaux fichiers

Si un problème persiste, faire une recherche sur la solution complète avec les termes default.aspx et ?tag pour vérifier si tout à été renommé.