使用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相关推荐

  1. windows 如何安装oracle 补丁包,Windows Server 2003 上安装 Oracle10g(10.2.0.1)并升级 至补丁(10.2.0.4) 图解...

    Windows Server 2003 上安装 Oracle10g(10.2.0.1)并升级 至补丁(10.2.0.4) 图解 第一部分:安装 Oracle 10.2.0.1 1.选择安装方法 2.选 ...

  2. mysql4.0升级_再遇MySQL4.0升级到MySQL5.1的时候

    已经好久没搞过MySQL4.0升级到MySQL4.1/MySQL5.0/MySQL5.1的操作了.昨天晚上一个朋友的服务器有几个数据库需要做这样的操作. 冷不丁再遇到这样的情况的确有点楞,不过好在之前 ...

  3. mac升级到 macos ventura 13.0 后,git失效及gitlab认证失败问题

    首先失效问题的解决 打开终端在命令行输入(terminal输入): xcode-select --install 系统会跳出窗口提醒 xcode-select: note: install reque ...

  4. 【管理篇 / 升级】❀ 08. 下载 7.0 版本固件 ❀ FortiGate 防火墙

    自动升级很方便,鼠标点击就可以了,但是设备过保了怎么办?又或者防火墙没有上网条件,那还能升级固件到FortiOS 7.0吗?可以的,只要你有固件文件就行.下面我们来看看不求人的方法,自己下载固件.   ...

  5. codis3.2升级redis3.11到redis6.0.10调研

    codis升级redis3.11到redis6.0.10背景 当前codis最新版本为3.2对应的redis的版本为3.2.11,针对以往的redis在使用过程中当内存碎片率过高时只能重启节点,无法动 ...

  6. 使用vSphere Host Update Utility 4.0升级ESX 3到4.0版本

    在VMware ESX Server 4.0提供的组件中,VI Client包括的"vSphere Host Update Utility 4.0"组件,可以通过网络,直接将ESX ...

  7. 成功解决 gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) - (device: 0, name: GeForce 94

    成功解决 gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce ...

  8. android apt最新版本,解决Android studio 2.3升级到Android studio 3.0 后apt报错问题

    解决Android studio 2.3升级到Android studio 3.0 后apt报错问题 发布时间:2020-09-16 19:59:42 来源:脚本之家 阅读:62 作者:哈特中尉 1. ...

  9. linux gcc 7.3.0安装,升级gcc到7.3.0

    #查看当前版本 gcc --version # 先查看当前版本确认是否需要升级 tar -zxvf gcc-7.3.0.tar.gz cd gcc-7.3.0 #检测和安装相关依赖包,这个过程需要耐心 ...

最新文章

  1. CTFshow 命令执行 web60
  2. Virtools脚本语言(VSL)教程 - 枚举
  3. BTREE这种Mysql默认的索引方式,具有普遍的适用性
  4. 击破区块链应用落地之痛,爆款公链太硬核!
  5. 最高76%破解成功率!GAN已经能造出“万能指纹”,你的手机还安全吗?
  6. 寻找代理服务器的常用软件
  7. node.js 将jade变为html
  8. 学会提问-批判性思维
  9. 供应链金融产品业务全揭秘
  10. [Audacity][帮助手册][手册内容]认识Audacity
  11. 小开销实现工作日的一个方法
  12. 数据仓库和数据挖掘方面比较好的书籍
  13. win10微软图标点击无反应_win10任务栏开始菜单等系统图标点击无反应的解决方法...
  14. 驱动之家驱动界定说明
  15. 使用Trinity进行转录组组装
  16. 综述:Reading, writing and erasing mRNA methylation
  17. 苹果手机怎么把游戏隐藏在计算机,苹果手机隐藏了游戏怎么找出来
  18. 为什么索引会加快查询速度?索引原理和使用原则
  19. Postgresql - 使用zabbix监控数据库- pg_monz
  20. Android多线程下载断点续传

热门文章

  1. 难忘的一天——装操系统(五)
  2. Intellij IDEA 添加jar包
  3. pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
  4. MindSpore部署图像分割示例程序
  5. 压缩人工智能的数据值
  6. Docker核心技术之容器详解
  7. Ubuntu 修改本地磁盘名称
  8. CoordinatorLayout 和 AppBarLayout 实现的局部点击按钮实现滑动某一个固定的距离
  9. Android TextView 去除顶部和底部留白(上下的间距有空白问题处理)
  10. Error: Invoke-customs are only supported starting with Android O (--min-api 26)