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

无头WordPress与React站点的.htaccess配置:兼顾路由与API请求

解决无头React+WordPress的.htaccess路由冲突问题

你的问题出在当前的.htaccess规则会把所有非静态文件/目录的请求都转发到index.html,包括WordPress的API接口(wp-json、GraphQL),导致这些请求无法被WordPress正常处理。

只需要在规则中优先排除API相关路径,让这些请求直接交给WordPress处理,再处理React的路由转发即可。修改后的.htaccess配置如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /

# 优先放行WordPress API相关请求
RewriteRule ^(wp-json|wp-graphql|graphql) - [L]

# 处理React路由:仅当请求不是文件/目录时,转发到index.html
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

关键规则说明:

  • RewriteRule ^(wp-json|wp-graphql|graphql) - [L]:这条规则会匹配所有以wp-json、wp-graphql(WPGraphQL插件默认路径)或graphql开头的请求,-表示不做重写,[L]表示这是最后一条匹配规则,确保这些API请求能被WordPress正常处理。
  • 后续规则保持不变,确保React的非根路径路由(比如/about、/blog)能正确加载index.html,由React接管前端路由。

如果你的GraphQL API使用了其他自定义路径,只需要在括号内添加对应的路径即可,比如^(wp-json|custom-graphql-path)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:55:22