悠悠楠杉
手把手教你完整迁移PHPCMS网站到新域名(实战指南)
手把手教你完整迁移PHPCMS网站到新域名(实战指南)
迁移PHPCMS网站到新域名不是简单的文件搬家,而是一个需要兼顾技术细节和SEO保护的系统工程。作为有10年建站经验的站长,我总结出这套经过50+次实战检验的完整流程(附避坑指南)。
一、迁移前的战略准备
1. 新旧域名服务器环境核验
- PHP版本必须≥5.6(建议7.2+)
- MySQL版本需保持一致
- 检查新服务器是否安装GD库、Zend等组件
- 实测案例:某客户因新服务器未装mbstring扩展导致会员模块异常
2. 关键数据备份(三重保险方案)
- 整站文件打包:
bash tar -zcvf phpcms_backup_$(date +%Y%m%d).tar.gz /var/www/html/
- 数据库全量导出:
sql mysqldump -u root -p phpcms_db > phpcms_db_backup.sql
- 后台一键备份:
PHPCMS后台→系统设置→数据库→备份数据库
切记将备份文件存储在本地+云端双介质(推荐使用rclone同步到阿里云OSS)
二、实战迁移六步法
步骤1:文件迁移的三大注意事项
- 通过rsync实现增量同步:
bash rsync -avz --progress -e ssh /old/path/ user@newserver:/new/path/
- 特殊文件处理:
- 检查
/caches/configs/
中的系统配置 - 验证
/uploadfile/
目录权限(需设为777)
- 检查
- 隐藏文件同步(.htaccess等)
步骤2:数据库改造关键点
- 执行SQL替换命令:
sql UPDATE phpcms_content SET url = REPLACE(url,'old.com','new.com'); UPDATE phpcms_setting SET value = REPLACE(value,'old.com','new.com');
- 特别注意
phpcms_site
表中的domain字段
步骤3:配置文件精准调整
修改/caches/configs/database.php
:
php
<?php
return array(
'default' => array(
'hostname' => 'new_mysql_host',
'database' => 'new_db_name',
'username' => 'new_db_user',
'password' => 'nEw!P@ssw0rd',
//...其他参数保持不变
)
);
三、上线后的必做操作
1. 301重定向终极方案
在.htaccess中添加(Nginx配置见文末附录):
apache
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old\.com$ [NC]
RewriteRule ^(.*)$ http://new.com/$1 [L,R=301]
2. 死链检测与修复
使用Xenu's Link Sleuth扫描后:
- 修复模版中的绝对路径(约3-5处)
- 更新第三方插件授权域名
- 重设CDN加速域名
3. 搜索引擎通知策略
- 百度站长平台→网站改版
- Google Search Console→地址变更
- 提交新sitemap.xml
四、高阶运维技巧
1. 数据库连接故障排查
当出现"Can't connect to MySQL server"时:
1. 检查/caches/logs/
下的error日志
2. 使用mysql命令行直接测试连接
3. 确认防火墙3306端口开放
2. 内容错乱修复方案
若出现文章不显示:
sql
-- 重建内容索引
TRUNCATE TABLE `phpcms_content_index`;
INSERT INTO `phpcms_content_index` SELECT * FROM `phpcms_content`;
附录:Nginx重定向配置
nginx
server {
listen 80;
server_name old.com;
return 301 http://new.com$request_uri;
}