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

WordPress 5.8.1环境下无法访问WooCommerce REST API如何解决?

解决方案

你一共遗漏了3项核心配置,按优先级排查:

1. 启用Apache rewrite模块

官方WordPress Apache镜像默认未开启rewrite模块,这是REST API 404的最常见原因,执行以下操作:

  • 进入WordPress容器:docker exec -it 你的wordpress容器名 /bin/bash
  • 启用rewrite模块:a2enmod rewrite
  • 重启Apache服务:service apache2 restart

2. 修正Apache站点目录权限配置

默认Apache配置禁止站点目录读取.htaccess文件,需要手动修改:

  • 编辑Apache站点配置文件,路径通常为/etc/apache2/sites-available/000-default.conf
  • 在<VirtualHost *:80>区块内添加如下配置:
<Directory /var/www/html>
    AllowOverride All
</Directory>
  • 保存后再次重启Apache服务

3. 正确配置WordPress固定链接

WordPress没有单独的「启用固定链接」复选框,只要不选择默认的*「朴素」*选项即为启用:

  • 进入设置>固定链接页面,选择除「朴素」外的任意选项(推荐「文章名」)
  • 点击保存更改,系统会自动在站点根目录生成.htaccess规则
  • 如果保存后提示没有权限写入.htaccess,手动在站点根目录创建.htaccess文件,写入以下内容:
# 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
  • 给.htaccess文件设置正确权限:chown www-data:www-data /var/www/html/.htaccess

配置持久化说明

如果不想每次重启容器都重复上述配置,可以在docker-compose.yml中给WordPress服务添加自定义启动命令,或者基于官方镜像构建自定义镜像打包配置。

验证步骤

全部配置完成后,先访问http://localhost:8180/wp-json/,如果返回JSON格式的接口列表即为配置成功,再访问WooCommerce相关接口即可正常返回。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:15:03