Z-Blog 在 Apache 的 PHP 下使用思路方法

Z-Blog 博客程序是基于 ASP+IIS+ACCESS 环境开发的,理论上并不能在Apache+PHP+MySQL环境下运行,不过有时可能因为某种情况,如部分博主觉得 ASP+IIS+ACCESS 负载性不够强或其它原因,需要将 Z-Blog 暂时迁移到Apache平台,本文是博客吧转自月光博客的主要是讲述一下迁移的具体形式。

Z-Blog 从ASP迁移到PHP的思路是:将Z-Blog全部静态化,动态化的部分,使用PHP代码回调ASP服务器上的地址,数据库依旧放在ASP的服务器上,使用双域名形式,通过FTP工具将ASP服务器上的HTML文件复制到PHP的服务器上。

Z-Blog系统需要使用“静态首页生成插件”,这样首页和文章页都实现了静态HTML文件,分类页和标签页原本是动态的,修改起来比较麻烦,需要修改Z-Blog源代码。

修改方法如下:

  1. 先建立一个cat目录,将根目录下的catalog.asp文件复制过来,修改为default.asp,将里面的include路径修改一下。
  2. 接着,修改FUNCTION目录下的c_system_base.asp,c_system_event.asp,c_system_lib.asp文件,搜索替换掉“catalog.asp”为“cat/”,这样目录页和分类页就会调用cat目录而不是asp文件。
  3. 之后,将所有的HTML都FTP到Apache主机上,对于cat目录,则建立一个index.php文件,文件内容如下:
    1
    2
    3
    4
    5
    6
    
    <?php
    $qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
    $url = "http://www.williamlong.info/cat/?".$qstring;
    $file=file_get_contents($url);
    echo $file;
    ?>

    这样,目录页和分类页的调用都会自动抓取原先ASP服务器上的文件。

  4. 最后,在Apache服务器上编辑.htaccess文件,内容如下:
    1
    2
    3
    4
    5
    
    RewriteEngine On
    RewriteBase /
    RewriteRule ^upload/(.*)$ http://www.williamlong.info/upload/$1 [R=301,L]
    RewriteRule ^download/(.*)$ http://www.williamlong.info/download/$1 [R=301,L]
    RewriteRule ^function/(.*)$ http://www.williamlong.info/function/$1 [R=301,L,QSA]
  5. 经过这样一番处理,在Apache环境下也可以浏览Z-Blog生成的博客了。

提醒:不过目前还存在一些问题,主要包括,留言评论功能无法使用(单独使用另外一个插件可以勉强支持评论),侧栏动态加载的内容无法显示,文章量浏览无法计数,评分插件失效,更新较为麻烦。

目前更新博客的方法是,修改hosts文件,将Z-Blog的域名再次指向原先ASP服务器,添加文章后,再FTP到Apache服务器上,原先我曾经考虑在两台服务器上同时安装Dropbox的方法实现同步,但后来发现,一些国外的虚拟主机已经开始禁止在主机上运行Dropbox了,其系统会自动检测Dropbox进程,并发邮件警告用户,称运行这个程序违反其政策,要求停止这个进程,因此只能考虑使用自动FTP的方法实现同步。

PS:感觉挺麻烦,也没有完全实现迁移,作用不大。不过有兴趣的可以折腾下

网友留言:

  1. 2011-07-19回复

    这方法挺不错的

  2. 2011-07-19回复

    呃,这样子没什么用吧……

发表留言