把本地 WordPress 博客制作的内容搬到服务器上去运行
星期二, 五月 18th, 2010前几天帮一个人把本地搞的 WordPress 博客搬到服务器上去。(我觉得对于这种新网站开通前的测试与制作,好的做法是在某个服务器空间进行而不是在本地进行)
因为他的空间是纯静态的,所以我在自己的站作了测试。
这种在本地用 XAMPP 建好了的、有初步内容的站再搬到服务器上的安装我还头一次遇上。
现在的问题是什么呢?是:本地的 WordPress 程序对本地数据库的链接不能在服务器空间实现。为什么不能实现呢?因为本地 WordPress 程序所连接的数据库不能在服务器上创建——导入数据表并不意味着创建了数据库(下详)。为什么不能创建呢?因为 cPanel 中创建数据库及其用户的名称的前缀都是限定了的——以 cPanel 用户名为前缀。
这样,我们的思路便是:
1)如何让 WordPress 程序连接到新建的数据库中
2)而这个新建的数据库的数据又是与本地的一致
第一点的解决方法是修改从本地上传的 WordPress 程序中的配置文件里的数据库参数。
第二点,导入数据表。但把数据表导入数据库并未完成工作。严格地说,不仅仅是把数据表导入数据库,而是把原有的数据表的数据导入到新建的数据表中。
而要实现后者,则需要:
要点一、新建的表前缀必须与他在本地建的数据库的表前缀一致
否则,导入的数据无法被 WordPress 程序使用。
在未导入数据库之前我没有去检查他的那个在本地搞的数据库的表前缀,结果,我随意地用了别的前缀(因为我的数据库已经有了wp_为前缀的表),而导致无法用上他原有的数据。
总结一下正确的操作:
一、新建一个数据库,表前缀同本地数据库的
二、修改原有的 WordPress 程序的配置文件,把数据库名称、用户名、密码修改为新建的数据库的
三、
要点二、原有的数据库文件导入以后,必须修改 wp_options 里的两个参数: homeurl 与 siteurl
这是网站换域名时所必需要做的步骤。
如果这一步没有做,这个 WordPress 程序就不能访问了。
此外,对于他的这种情况,说点别的。
要点三、内部链接不要使用从本地硬盘根目录开始的绝对路径
虽然这一点跟我无关,但它对本地制作内容来说很重要。
这是一个很容易犯的错误。
他也犯了这个错误,结果博客里的图片全部不能显示。
正确的方法是用从域名根目录开始的路径。用这种路径,即使换域名也不会受到影响。
值得注意的是, WordPress 程序的日志链接是“虚拟”的。意思是,诸如 /2010/4/xxx 这样的链接地址并不代表真实的文件(夹)结构,在服务器里,并没有2010、4这样的文件夹。所以,这个地址并不代表目录深度。同样道理,/xxxx.html这样的地址也不代表日志是真正的静态HTML文件——尽管服务器端脚本的确在用户请求发出后生成了HTML文件。