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

使用Docker Compose部署WordPress后访问WooCommerce API出现404错误

WooCommerce API 404问题排查解决步骤

1. 刷新WordPress固定链接规则

  • 登录WordPress后台,进入「设置」→「固定链接」
  • 不要选择「朴素」格式,任选其他固定链接格式(如文章名、数字型),点击「保存更改」,即使之前已经保存过也重新执行一次,强制重写站点rewrite规则
  • 重新访问localhost:8000/wc-api/测试是否正常

2. 启用Apache rewrite模块

官方WordPress Docker镜像默认未开启rewrite模块,会导致伪静态规则不生效,手动启用步骤:

  • 进入运行中的WordPress容器终端:
    docker exec -it <你的WordPress容器名称/ID> bash
  • 执行启用rewrite模块命令:
    a2enmod rewrite
  • 重启Apache服务:
    service apache2 restart
  • 测试API访问是否恢复

如果需要避免容器重启后配置丢失,可以修改docker-compose.yml中wordpress服务配置,添加启动命令自动开启模块:

services:
  wordpress:
    # 保留原有配置不变,新增以下command字段
    command: >
      bash -c "a2enmod rewrite &&
      apache2-foreground"

修改后执行docker-compose up -d重启容器即可永久生效。

3. 校验.htaccess文件配置

  • 检查本地挂载的./wordpress目录下是否存在.htaccess文件,文件权限需设置为644,所属用户为www-data
  • 如果文件不存在或内容异常,替换为以下默认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. 验证WooCommerce API开关状态

  • 登录WordPress后台,进入「WooCommerce」→「设置」→「高级」→「REST API」,确认API已启用,接口调用需要提前生成对应的消费者密钥对。

5. 临时验证方法

如果需要快速定位问题,可直接访问带参数的API地址测试:
http://localhost:8000/?rest_route=/wc/v3/
如果该地址可以正常返回数据,即可确定是伪静态rewrite规则配置问题,按上述前三个步骤修复即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:45:01