无头WordPress和React网站的.htaccess文件的正确设置是什么



我有一个Wordpress网站,它有一个无头React前端。使用Wordpress在安装时设置的默认.htaccess文件,该网站无法正确处理对根目录以外的任何页面的请求。这些请求完全忽略了React。我修改了.htaccess,将所有请求指向index.html文件,如下所示。。。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

这在所有请求上都能很好地加载React站点,但在对wp-json或更重要的是graphql的任何api请求上也会失败。这意味着页面加载,但内容基本上不存在。我如何设置.htaccess文件,在允许初始请求进入index.html的基础上,允许请求进入这些api端点?

到目前为止,这似乎是有效的。。。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^graphql(.*)$ index.php?url=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

从这个答案中偷了一部分。。。如何使用.htaccess重定向所有API请求,同时保持资产请求不变?

我不确定我是否需要url=$1部分,因为我没有在其他地方使用它,但我不太擅长regex,至少请求得到了正确处理。