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

AWS EC2(Ubuntu)部署WordPress后wp-admin面板404错误求助

WordPress wp-admin 404 错误解决指南(绑定域名后)

问题背景

将AWS EC2实例IP绑定域名后,WordPress站点的wp-admin面板无法访问,返回404错误。当前站点根目录的.htaccess文件内容如下:

# Only allow direct access to specific Web-available files.

# Apache 2.2

<IfModule !mod_authz_core.c>
Order Deny,Allow
Deny from all
</IfModule>

# Apache 2.4

<IfModule mod_authz_core.c>
Require all denied
</IfModule>

# Akismet CSS and JS

<FilesMatch "^(form.js|akismet.js|akismet-frontend.js|akismet.css)$">
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>

    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>

</FilesMatch>

# Akismet images

<FilesMatch "^logo-(a|full)-2x.png$">
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>

    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>

</FilesMatch>

使用技术栈:

  • Ubuntu 系统
  • Apache Web服务器
  • MySQL 数据库

排查与修复步骤

1. 修复.htaccess配置(核心问题)

当前.htaccess仅包含Akismet插件的访问控制规则,缺少WordPress必需的URL重写规则,这是导致后台路径无法解析的主要原因。

操作步骤:

  1. 登录EC2实例,进入WordPress站点根目录(通常为/var/www/html)。
  2. 备份现有.htaccess:
    sudo cp .htaccess .htaccess.bak
    
  3. 替换为WordPress默认重写规则:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    
  4. 若需保留Akismet规则,将其追加到上述代码下方。

2. 启用Apache重写模块

WordPress的URL路由依赖mod_rewrite模块,未启用会导致路径无法匹配。

操作步骤:

  1. 启用模块:
    sudo a2enmod rewrite
    
  2. 重启Apache生效:
    sudo systemctl restart apache2
    

3. 配置Apache允许.htaccess生效

Apache默认可能限制.htaccess的作用,需修改站点配置:

操作步骤:

  1. 打开站点配置文件(路径示例:/etc/apache2/sites-available/your-site.conf)。
  2. 找到站点根目录对应的<Directory>区块,设置AllowOverride All:
    <Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    
  3. 保存后重启Apache:
    sudo systemctl restart apache2
    

4. 更新WordPress站点URL

绑定域名后,WordPress内部的站点URL可能仍指向旧IP,导致跳转错误。

方法1:通过数据库修改

  1. 登录MySQL:
    mysql -u 数据库用户名 -p
    
  2. 进入WordPress数据库:
    use 你的数据库名;
    
  3. 更新URL配置:
    UPDATE wp_options SET option_value = 'https://your-domain.com' WHERE option_name = 'siteurl';
    UPDATE wp_options SET option_value = 'https://your-domain.com' WHERE option_name = 'home';
    
    (将your-domain.com替换为你的实际域名)

方法2:通过wp-config.php修改

在WordPress根目录的wp-config.php中添加以下代码:

define('WP_HOME','https://your-domain.com');
define('WP_SITEURL','https://your-domain.com');

5. 清除浏览器缓存

浏览器缓存的旧IP或会话可能导致访问异常,清除后重新访问https://your-domain.com/wp-admin。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:50:24