WordPressRESTAPI返回404?
我在我的服务器上安装了一个使用WP作为API的WP。我使用几个插件获取数据: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设置(新安装,我认为默认启用
.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