WordPress网站迁移过程详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-11-21 13:26:07 浏览: 评论:0
前些日子我终于下定决心买 VPS,然后就把这个博客从虚拟主机上迁移过去,因为域名不变,只是换空间,所以大部分步骤是按 WordPress 提供的文档操作,不过过程中碰上不少问题,最终且算是解决了,所以做一总结.
备份旧服务器上的数据库,旧的虚拟主机上提供有 cPanel 界面,所以操作十分简单,备份旧服务器上的文件,同样可以借助 cPanel。
导入旧数据库到新服务器,因为 VPS 上没有 cPanel,所以数据库的导入是通过命令行执行的.
首先通过 SSH 登录到服务器,代码如下:
ssh zfanw
然后执行 MySQL 命令:
sam@phpfensi.com:mysql -u mysqlusername -p databaseName < phpfensi.com.bak.sql
导入的过程非常快,如果不确信是否成功,可以执行 MySQL 命令查看:
use zfanwcom;
show tables;
结果如下:
- mysql> show tables;
- +---------------------------+
- | Tables_in_zfanwcom |
- +---------------------------+
- | wp_PopularPostsdata |
- | wp_commentmeta |
- | wp_comments |
- | wp_links |
- | wp_options |
- | wp_postmeta |
- | wp_posts |
- | wp_sucuri_lastlogins |
- | wp_term_relationships |
- | wp_term_taxonomy |
- | wp_terms |
- | wp_usermeta |
- | wp_users |
- +---------------------------+
复制旧文件到新服务器,数据库导入完成后,将虚拟主机上备份的文件上传到 VPS 并解压到相应目录.
解析域名,将域名重新解析到新的 IP 上.
错误情况,解析完成后访问新 IP 上的博客,就出现了各种情况.
先来看下 /etc/apache2/vhosts.d/ 目录下 phpfensi.com.conf 这个虚拟主机文件的配置:
- <VirtualHost *:80>
- ServerName phpfensi.com
- ServerAlias www.phpfensi.com
- ServerAdmin chenxsan@gmail.com
- DocumentRoot /srv/www/vhosts/phpfensi.com
- <Directory "/srv/www/vhosts/phpfensi.com">
- AllowOverride All
- Options FollowSymLinks
- Order allow,deny
- Allow from all
- </Directory>
- </VirtualHost>
我碰到的情况中,有一种错误是这样,代码如下:
- Object not found!
- The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.
- If you think this is a server error, please contact the webmaster.
- Error 404
- www.phpfensi.com
- Apache/2.4.6 (Linux/SUSE)
网上的资料有说是 .htaccess 文件的问题,因为我自定义了 WordPress 的固定链接,但我的 .htaccess 文件内容如下:
- # BEGIN WordPress
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^index.php$ - [L]
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
- # END WordPress
这是 WordPress 默认的,另外,使用上一篇介绍的方法,可以看到我的服务器上已经安装了 mod_rewrite 模块.
我的情况下,问题出在 /etc/apache2/httpd.conf 文件,WordPress 说明如下:
- Your server may not have the AllowOverride directive enabled. If the AllowOverride directive is set to None in your Apache httpd.config file, then .htaccess files are completely ignored. In this case, the server will not even attempt to read .htaccess files in the filesystem. When this directive is set to All, then any directive which has the .htaccess Context is allowed in .htaccess files.
如果 Apache 的 httpd.conf (openSUSE 下安装的 Apache 里配置文件是叫这个) 中 AllowOverride 被设置为 None,则 .htaccess 文件完全被忽视,所以我需要修改 httpd.conf 文件内容,结果如下:
- <Directory />
- Options FollowSymLinks
- AllowOverride All
- </Directory>
重启 Apache 服务器:sudo rcapache2 restart
再度访问博客,问题消失了,不过这篇是事后整理,碰上的许多枝末问题已经遗忘,不一定完整.
Tags: WordPress网站迁移 WordPress搬家
相关文章
- ·WordPress学习第四天——搬家(2014-10-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)