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

网站正常但wp-admin报404 Not Found错误(Nginx环境)求助

问题:外部访问WordPress后台/wp-admin出现404错误,主机端可正常访问

问题详情

  • 网站前台可正常运行,但外部访问https://modafinilminds.com/wp-admin时显示404 Not Found错误
  • 通过网站主机端(如主机内部预览、cPanel后台访问)可正常打开/wp-admin
  • 已检查文件并更新.htaccess,内容如下:
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^en/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^de/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^ja/wp-login.php /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN LiteSpeed
# The directives (lines) between "BEGIN LiteSpeed" and "END LiteSpeed" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule Litespeed>
SetEnv noabort 1
</IfModule>
# END LiteSpeed

原因分析

  1. 缺少/wp-admin的重写规则:当前.htaccess仅针对多语言版本的wp-login.php做了跳转,但未处理/wp-admin路径。外部请求/wp-admin时,没有匹配的规则,最终被WordPress默认规则转发到index.php,返回404。
  2. 主机端与外部访问逻辑差异:主机端访问可能绕过了部分Rewrite规则(比如使用本地IP/域名,未触发完整的域名解析和重写流程),因此能正常打开,而外部访问暴露了规则缺失的问题。
  3. LiteSpeed规则/缓存影响:服务器使用LiteSpeed时,可能存在缓存未清除或规则加载顺序问题,导致/wp-admin请求未被正确处理。

修复方案

  • 添加/wp-admin重写规则:在.htaccess的WordPress区块中,插入针对/wp-admin的规则,确保请求指向实际入口文件。修改后的代码如下:
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# 添加/wp-admin重写规则,处理根路径的后台请求
RewriteRule ^wp-admin/?$ /wp-admin/index.php [L]
RewriteRule ^en/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^de/wp-login.php /wp-login.php [QSA,L]
RewriteRule ^ja/wp-login.php /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
# BEGIN LiteSpeed
# The directives (lines) between "BEGIN LiteSpeed" and "END LiteSpeed" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule Litespeed>
SetEnv noabort 1
</IfModule>
# END LiteSpeed
  • 重置固定链接:通过主机端登录/wp-admin,进入「设置」→「固定链接」,直接点击「保存更改」,让WordPress自动生成正确的.htaccess规则(操作前建议备份当前.htaccess)。
  • 清除LiteSpeed缓存:进入主机面板的LiteSpeed缓存管理界面,清除所有缓存,并确保/wp-admin路径被添加到缓存排除列表。
  • 检查文件权限:确认/wp-admin目录权限为755,内部文件权限为644,避免因权限问题导致外部访问被拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:04:56