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

WordPress多站点管理链接缺斜杠致404无法访问问题求助

解决WordPress多站点管理页面404且URL丢失斜杠的问题

你遇到的核心问题是多站点管理URL重定向时丢失了wordpress和wp-admin之间的斜杠,导致404错误。结合你用Duplicator从WAMP迁移的背景,我整理了几个针对性的排查和修复步骤:

1. 检查并修正wp-config.php中的多站点配置

先打开站点根目录下的wp-config.php文件,重点确认多站点相关配置的路径格式:

  • 确保WP_SITEURL和WP_HOME的设置末尾带斜杠:
    define('WP_SITEURL', 'https://blablabla.com/wordpress/');
    define('WP_HOME', 'https://blablabla.com/wordpress/');
    
  • 检查多站点核心配置,PATH_CURRENT_SITE必须正确设置为带末尾斜杠的子目录路径:
    define('DOMAIN_CURRENT_SITE', 'blablabla.com');
    define('PATH_CURRENT_SITE', '/wordpress/'); // 这里的斜杠不能少
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
    

如果这些配置里的路径缺失斜杠,很容易触发错误的重定向逻辑。

2. 重新生成多站点的.htaccess规则

Duplicator迁移后,.htaccess的重写规则可能和新环境不匹配。先备份当前的.htaccess文件,然后替换为WordPress官方的多站点子目录版规则:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

# 给/wp-admin添加末尾斜杠
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

注意把RewriteBase /wordpress/里的路径改成你实际的子目录路径,确保末尾带斜杠。

3. 排查Duplicator迁移的路径替换问题

Duplicator在迁移时会替换数据库里的旧URL,但偶尔会因为匹配逻辑问题导致路径拼接错误:

  • 登录phpMyAdmin,检查wp_options表(多站点还要检查wp_blogs、wp_site表),搜索siteurl、home、path这些字段,确认所有URL和路径都带有正确的斜杠,没有出现wordpresswp-admin这类错误拼接。
  • 如果发现错误内容,直接在数据库里修正;如果你能正常访问普通wp-admin页面,也可以通过“设置-常规”页面重新设置站点URL(多站点需要超级管理员权限)。

4. 清除缓存并重置永久链接

缓存残留可能导致旧的重定向规则生效,需要做以下操作:

  • 清除浏览器缓存,或者用无痕模式访问多站点管理页面测试。
  • 登录普通wp-admin后台,进入“设置-永久链接”,不需要修改任何设置,直接点击“保存更改”,让WordPress重新生成重写规则(这会自动更新.htaccess,前提是服务器允许写入该文件)。

5. 检查服务器层面的重定向配置(可选)

如果以上步骤都没解决,可能是服务器配置的问题:

  • 对于Apache,确保mod_rewrite模块已启用,并且站点虚拟主机配置里设置了AllowOverride All,允许.htaccess生效。
  • 对于Nginx,要确保多站点的重写规则配置正确,示例如下:
    location /wordpress/ {
        try_files $uri $uri/ /wordpress/index.php?$args;
    }
    

按这些步骤逐一排查,应该能解决URL丢失斜杠导致的404问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:08:27