You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更换旧域名至新域名后页面链接指向异常技术求助

域名更换后内部链接仍指向旧域名的解决方法

你的问题核心是网站内部内容硬编码了旧域名,当前的.htaccess仅处理了旧域名的外部跳转,但页面内生成的链接还是旧域名,导致点击后跳转错误。按以下步骤解决:

1. 修正网站核心配置的域名设置

不管你用的是CMS(如WordPress)还是自定义开发框架,首先要把站点的基础URL改成新域名https://edaysacademy.online:

  • 若为WordPress:进入后台「设置→常规」,修改「WordPress地址(URL)」和「站点地址(URL)」;也可直接在wp-config.php中添加:
    define('WP_HOME','https://edaysacademy.online');
    define('WP_SITEURL','https://edaysacademy.online');
    
  • 若为自定义框架:找到配置文件(如.env、config.php)中的base_url或类似字段,替换为新域名。

2. 批量替换数据库中的旧域名

数据库中存储的文章内容、页面链接、菜单配置等大概率包含旧域名,需批量替换(操作前务必备份数据库):
以WordPress为例,执行以下SQL语句(替换表前缀wp_为你的实际前缀):

UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://edaysacademy.org', 'https://edaysacademy.online');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://edaysacademy.org', 'https://edaysacademy.online');
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://edaysacademy.org', 'https://edaysacademy.online');

非WordPress系统,需找到对应存储内容的表,执行类似替换逻辑。

3. 完善.htaccess配置

当前的.htaccess存在两个问题:重定向使用HTTP而非HTTPS,且丢失了强制HTTPS的规则。替换为以下配置:

RewriteOptions inherit

RewriteEngine On

# 强制所有请求使用HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 将旧域名的请求永久跳转到新域名
RewriteCond %{HTTP_HOST} ^edaysacademy\.org$
RewriteRule (.*) https://edaysacademy.online/$1 [R=301,L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

4. 清除所有缓存

  • 网站缓存插件(如WP Rocket、W3 Total Cache)的缓存;
  • 服务器端缓存(如Nginx缓存、Apache缓存);
  • CDN缓存(若使用);
  • 本地浏览器缓存(按Ctrl+Shift+R强制刷新页面)。

内容的提问来源于stack exchange,提问作者Olayori Oluwafemi Samuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 12:56:03