更换Discuz网站的域名(从A.com到B.com)需要系统化操作,以下是专业操作步骤:
一、【数据备份阶段】
1. 后台执行全站备份
2. 通过phpMyAdmin导出完整数据库
3. 手动备份网站根目录下所有文件(注意包含UCenter目录)
二、【核心配置修改】
1. 修改 `/config/config_global.php` 文件:
- $_config['cookie']['cookiedomain'] = '.B.com';
- $_config['security']['attackevasive'] = 0; // 临时关闭防CC设置
复制代码
2. 同步修改 `/uc_server/data/config.inc.php`:
- define('UC_API', 'http://B.com/uc_server');
复制代码
三、【数据库深度替换】
执行SQL语句(注意替换表前缀):
- UPDATE pre_common_setting SET svalue = REPLACE(svalue, 'A.com', 'B.com');
- UPDATE pre_common_syscache SET data = REPLACE(data, 'A.com', 'B.com');
- UPDATE pre_forum_post SET message = REPLACE(message, 'A.com', 'B.com');
复制代码
四、【特殊字段处理】
1. 使用官方提供的 `update_domain.php` 工具处理序列化数据
2. 在数据库中直接更新:
- UPDATE pre_common_setting SET svalue = 'B.com' WHERE skey IN ('siteurl', 'my_siteurl');
复制代码
五、【服务器环境配置】
1. 配置301重定向规则(Nginx示例):
- server {
- listen 80;
- server_name A.com;
- return 301 $scheme://B.com$request_uri;
- }
复制代码
2. 更新伪静态规则中的域名引用
六、【UCenter通信修复】
1. 登录UCenter后台检查应用通信状态
2. 手动更新应用的主URL为B.com
3. 执行通信密钥同步操作
七、【缓存与验证】
1. 清除以下缓存目录:
- data/cache
- data/template
- data/threadcache
- uc_server/data/cache
2. 验证重点功能:
- 用户SSO登录流程
- 附件下载地址
- 邮件通知链接
- 第三方登录回调地址
八、【SEO维护】
1. 在百度站长平台提交域名变更
2. 修改sitemap.xml中的域名信息
3. 更新所有友情链接中的域名
九、【故障排查预案】
1. 准备应急回滚方案
2. 监控MySQL慢查询日志
3. 开启Discuz调试模式:
- $_config['debug'] = 1;
- $_config['admincp']['runquery'] = 1;
复制代码
注意事项:
1. 涉及移动端需同步修改API接口配置
2. 检查所有第三方插件配置中的域名绑定
3. 更新定时任务中的域名相关脚本
4. 如果使用OSS存储,需更新CNAME解析
完成上述步骤后,建议保持原域名301重定向至少3个月。若遇到UCenter通信失败等疑难问题,可通过DZ插件网提供的[站点迁移检测工具]进行深度诊断。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |