config/app.php 中的配置:
// 确保以下配置正确return [// 应用地址'app_host' => 'https://new-domain.com',// 自动写入的静态资源域名'view_replace_str' => ['__STATIC__' => 'https://new-domain.com/static','__CSS__' => 'https://new-domain.com/static/css','__JS__' => 'https://new-domain.com/static/js','__IMG__' => 'https://new-domain.com/static/images', ],];
.env 文件配置(如果有):
APP_HOST = https://new-domain.com
3. 更新数据库中的域名配置
如果后台配置存储在数据库中,需要更新:
-- 检查配置表SELECT*FROM `system_config` WHERE `name` LIKE'%domain%'OR `name` LIKE'%url%';-- 更新相关配置UPDATE `system_config` SET `value` ='https://new-domain.com'WHERE `name` IN ('site_url', 'web_url', 'admin_url');
4. 强制更新静态资源引用
在入口文件 public/index.php 开头添加:
// 强制设置当前域名define('NOW_HOST', 'https://new-domain.com');$_SERVER['HTTP_HOST'] = 'new-domain.com';// 或者直接修改URLif (!function_exists('url')) {functionurl($url = '', $vars = '', $suffix = true, $domain = true) {$url = \think\Url::build($url, $vars, $suffix, $domain);returnstr_replace('old-domain.com', 'new-domain.com', $url); }}
5. 检查模板文件中的硬编码链接
搜索所有模板文件(通常在 app/admin/view/ 目录下):
# 查找所有包含旧域名的文件grep -r "old-domain.com" app/admin/view/# 批量替换(谨慎操作,先备份)find app/admin/view/ -type f -name "*.html" -exec sed -i 's|old-domain.com|new-domain.com|g' {} \;
6. 浏览器端清理
- 1. 按
Ctrl+Shift+Delete 清除浏览器缓存
7. 快速临时解决方案
如果急需登录后台,可以修改 public/.htaccess(Apache)或 nginx.conf(Nginx):
Apache (.htaccess):
<IfModule mod_headers.c>Header set Cache-Control "no-cache, no-store, must-revalidate"Header set Pragma "no-cache"Header set Expires 0</IfModule>
Nginx 配置:
location / {add_header Cache-Control "no-cache, no-store, must-revalidate";add_header Pragma "no-cache";add_header Expires 0;}
8. 完整排查脚本
创建一个临时脚本 check_domain.php 放在项目根目录:
<?php// 检查当前域名配置echo"当前访问域名: " . $_SERVER['HTTP_HOST'] . "<br>";echo"ThinkPHP应用域名: " . config('app.app_host') . "<br>";// 检查静态资源路径$viewReplace = config('app.view_replace_str');echo"静态资源配置: <pre>";print_r($viewReplace);echo"</pre>";// 检查路由echo"当前URL生成测试: " . url('admin/index/login') . "<br>";
推荐操作顺序:
如果以上方法都不行,请检查是否有CDN缓存、反向代理缓存,或者查看浏览器开发者工具(F12)的Network面板,查看具体哪些资源还是旧域名,然后针对性处理。