成功将BlogEngine 1.5 升级到了BlogEngine 2.0
使用BlogEngine.Net博客系統有兩年時間了。官方的最新版本已經出到了2.5。但它是基于.net4.0的。也就是說服務器必須安裝.net4.0,運行環境必須選擇4.0。出于移植性的考慮。我決定將我的博客升級到2.0。BlogEngine.Net2.0是繼續.net2.0的。雖說必須安裝.net 3.5,但畢竟運行環境還是2.0。
由于BlogEngine.Net是英文版本的,對本地化做的還不夠,所以在很久以前我就選擇了博易www.blogyi.net作為自己的博客程序。大家可以到博易官方去下載最新版http://www.blogyi.net/download/。這里是博易和BlogEngine.net的版本對照http://www.blogyi.net/download/release-mapping/。
我原先使用的是博易1.9版本,也就是對應BlogEngine.NET的1.5版本。
其實升級非常的簡單,方法如下:
1.登錄舊版本博客后臺,導出BlogML.xml(備用)畢竟沒有不是不同博客程序的轉換,所以相對比較簡單,只要導出備份文件即可。待用。
2.備份舊版本博客App_Data目錄下的file文件夾,這個文件夾是存儲博客圖片以及文件的文件夾,待用。當然最好還是備份整個App_Data目錄,如果升級不成功還可以還原。
3.備份整個舊博客(不是必須的,但可以防萬一)。
4.下載博易博客http://www.blogyi.net/download/ 首先下載BlogYi.NET v2.0 源程序壓縮包文件 5,992KB?,BlogYi.NET v2.0 源程序壓縮包文件 5,992KB (源碼不是必須的,在后面我會提到為什么要下載源碼)
5.上傳BlogYi.Net2.0程序,上傳后邊可以輸入網址運行。
6.還原數據,登錄新博客后臺,找到 設置->導入&導出 將先前備份好的BlogML.xml導入。如果順利,那么你的博客就升級完畢了。
但是雖然說已經升級完畢,隨之帶來的問題卻不小。如果你小心留意你會發現升級完畢后的文章的顯示地址發生了變化。在舊版本的博客中默認命名博客文章地址是域名+時間日期+文章標題的UrlEncode編碼+.aspx,新版本卻使用了域名+時間日期+文章標題的HtmlEncode+.aspx。這看上去是一個很小的問題,但他會大大縮減你博客的訪問量。這是為什么呢,這因為博客的流量大多來自搜索引擎,搜索引擎收納的是博客的鏈接地址,鏈接地址發生了變化,那么就沒辦法使用原先被搜索引擎收納的地址。以前的文章就變成了空地址。怎么解決這個問題呢?這就需要用到博客的源碼了。
方法如下:
1.用VS2010打開項目源碼,找到BlogYi.Net-2.0-Source\BlogEngine\DotNetSlave.BusinessLogic\Utils.cs
找到
?
public static string RemoveIllegalCharacters(string text)
{if (string.IsNullOrEmpty(text))return text;text = text.Replace(":", string.Empty);text = text.Replace("/", string.Empty);text = text.Replace("?", string.Empty);text = text.Replace("#", string.Empty);text = text.Replace("[", string.Empty);text = text.Replace("]", string.Empty);text = text.Replace("@", string.Empty);text = text.Replace("*", string.Empty);text = text.Replace(".", string.Empty);text = text.Replace(",", string.Empty);text = text.Replace("\"", string.Empty);text = text.Replace("&", string.Empty);text = text.Replace("'", string.Empty);text = text.Replace(" ", "-");text = RemoveDiacritics(text);text = RemoveExtraHyphen(text);return HttpUtility.HtmlEncode(text) .Replace("%", string.Empty);} 將
return HttpUtility.HtmlEncode(text).Replace("%", string.Empty); 改為
return HttpUtility.UrlEncode(text).Replace("%", string.Empty); 然后重新編譯BlogEngine.Core項目,上傳替換BlogEngine.Core.dll。
這就解決了升級后,博客文章鏈接地址發生變化的問題。
轉載于:https://www.cnblogs.com/AlexCheng/archive/2011/07/15/2119991.html
總結
以上是生活随笔為你收集整理的成功将BlogEngine 1.5 升级到了BlogEngine 2.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果平板iPad5回收价格是多少?怎么查
- 下一篇: 求一个四字qq网名女生