WordPressRESTAPI返回404?

WordPressRESTAPI返回404?,wordpress,permalinks,wordpress-rest-api,Wordpress,Permalinks,Wordpress Rest Api,我在我的服务器上安装了一个使用WP作为API的WP。我使用几个插件获取数据: 我的主题是一个react应用程序,它使用WP rest API获取信息 这很好用。我安装了WP,插件和事情进展顺利 周五我通过FTP做了一些事情,意外地删除了.htaccess文件的内容(而不是文件本身)。当这个文件为空时,我更新了permalink的结构。我注意到我破坏了博客的frontpage(管理员工作正常),恢复了htaccess并启用了我认为以前启用过的permalink设置(新安装,我认为默认启用

我在我的服务器上安装了一个使用WP作为API的WP。我使用几个插件获取数据:

我的主题是一个react应用程序,它使用WP rest API获取信息

这很好用。我安装了WP,插件和事情进展顺利

周五我通过FTP做了一些事情,意外地删除了.htaccess文件的内容(而不是文件本身)。当这个文件为空时,我更新了permalink的结构。我注意到我破坏了博客的frontpage(管理员工作正常),恢复了htaccess并启用了我认为以前启用过的permalink设置(新安装,我认为默认启用的是“月份和名称”设置)

由于某些原因,当启用永久链接时,API URL现在返回404

如果我在permalinks上使用“普通”设置,事情几乎可以正常工作(frontpage插件坏了,但我认为这是另一个故事)

有人知道可能出了什么问题,或者我如何修复它吗?这里有一个指向live站点的链接:不过,它可能会启用普通设置

这是我当前的
.htaccess
文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

更新因此,如果我尝试获取此链接:
/wp json/wp/v2/posts
它将失败,但如果我附加
index.php
它会工作(所以
/index.php/wp json/wp/v2/posts
。请注意,我没有使用URL参数)。我可能需要在apache中启用mod_rewrite?但这在以前是有效的。。。所以我现在更困惑了。

我有一个完全相同的问题,那就是没有启用重写。但是,我的服务器启用了“重写”模块,并且与上面的
.htaccess
文件相同

问题是
/etc/apache2/apache2.conf
不允许.htaccess覆盖文件:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
注意:如果已将rest API端点配置为默认的
wp json
之外的内容,则可能需要转到Dashboard->Settings并更改永久链接设置,然后将其还原为原来的设置。这将重建重写缓存。

对于Nginx服务器, 打开/etc/nginx/sites available/example.com

将“位置/零件”更改为

然后重新启动Nginx服务器:

service nginx restart

您的.htaccess文件看起来不错,应该可以在API路径中不附加index.php的情况下工作。如果您使用在服务器上保存页面并在浏览器中访问它,然后搜索mod_rewrite,它是否显示为活动?它是否托管在本机Apache上?还是模仿?.htaccess的路径可能因此而异。您好!谢谢你的回复。我已经用phpinfo()创建了一个test.php文件;在其中,我在文件中找不到mod_rewrite。可能是我的服务器出了问题,而不是我的WP安装出了问题。您可以在此处检查文件:的副本
service nginx restart