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

WordPress多域名迁移至新主机后内部访问子页面404问题

解决WordPress迁移后内部测试地址子页面404的问题

看起来你的核心问题是首页能正常访问,但子页面返回404,这通常是站点URL配置不正确或者重写规则(.htaccess)路径不匹配导致的,结合你的目录结构和配置,我给你一步步的解决方案:


1. 修正WP_HOME和WP_SITEURL的配置

你的WordPress实际安装在/www/domains/my-domain.com/wordpressfolder目录,但你当前的WP配置指向的是上层目录,这会导致WP生成的子页面URL路径错误。

打开wp-config.php,把两个常量更新为:

define('WP_HOME', 'http://myinternaladdress.hosting.com/www/domains/my-domain.com/wordpressfolder');
define('WP_SITEURL', 'http://myinternaladdress.hosting.com/www/domains/my-domain.com/wordpressfolder');

如果你的测试地址启用了HTTPS,把http://换成https://


2. 更新WordPress目录下的.htaccess重写规则

当前WP目录下的.htaccess使用了RewriteBase /,这是根路径的配置,但你的WP不在根目录,必须调整路径匹配:

替换WP目录下的.htaccess内容为:

<IfModule mod_rewrite.c>
RewriteEngine On
# 匹配测试地址下的WP实际路径
RewriteBase /www/domains/my-domain.com/wordpressfolder/
RewriteRule ^index\.php$ - [L]

# 静态文件/目录直接访问,否则转发到index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /www/domains/my-domain.com/wordpressfolder/index.php [L]
</IfModule>

这里关键是把RewriteBase和最后一条RewriteRule的目标路径都改成WP在测试地址下的完整URL路径,确保服务器能正确找到WP的入口文件。


3. 刷新WordPress固定链接规则

即使你手动修改了.htaccess,WP后台的固定链接配置可能还缓存着旧的路径:

  • 登录WP后台,进入设置 > 固定链接
  • 随便选择一个不同的链接结构(比如“朴素”),点击“保存更改”
  • 再切换回你原来使用的结构(比如“文章名”),再次保存

这一步会让WP自动生成适配当前站点URL的重写规则,确保子页面的URL能正确映射到对应的内容。


4. 排查www目录下的.htaccess干扰(可选)

你当前www目录下的.htaccess是用来处理多域名/子域名映射的,但你的测试地址myinternaladdress.hosting.com并不匹配规则里的域名条件(规则会尝试匹配domains/%2目录,而%2是测试地址的域名部分,这个目录不存在),所以理论上不会影响,但如果前面的步骤没解决问题,可以暂时重命名www/.htaccess(比如改成.htaccess.bak),然后测试子页面是否能访问,排除规则冲突的可能。


完成这些步骤后,你的子页面应该就能正常访问了。如果还是有问题,可以检查服务器是否启用了mod_rewrite模块,或者目录/文件的权限是否正确(确保WP目录和.htaccess文件有足够的读写权限)。

内容的提问来源于stack exchange,提问作者robertnovak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:43:09