请在根目录的顶部尝试以下mod\\u rewrite指令.htaccess 文件(在# BEGIN WordPress 第节):
# Reject any user requests that are not prefixed "/wp-json"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule !wp-json($|/) - [F]
未加前缀的请求URL
/wp-json (或
/wp-json/) 被拒绝,403禁止。
这个RewriteCond 检查REDIRECT_STATUS 环境变量是为了确保仅阻止来自客户端的请求,而不是在内部将请求重写到index.php (WordPress前控制器)。REDIRECT_STATUS 在初始请求时为空,并设置为;200英寸;第一次成功重写后(如200 OK状态)。
<Directory />
AllowOverride None
</Directory>
<Directory /wp-json*>
AllowOverride All
</Directory>
<Directory /wp-json*/*>
AllowOverride None
</Directory>
<Directory> 和
AllowOverride 是仅限服务器的指令,如果在中使用,将触发500内部服务器错误
.htaccess. 然而
AllowOverride 启用/禁用
.htaccess 覆盖(它不阻止访问)-这不是您想要在这里执行的操作(
.htaccess 覆盖可能已启用)。和
/wp-json 不是物理的“;“目录”;在文件系统上
<Directory> 指令在此不适用。
Order deny,allow
Deny from all
Allow from all
拥有
Deny from all 和
Allow from all 在同样的背景下,这真的没有意义。(您需要禁用对根的访问,并启用对特定URL路径前缀的访问。)然而
Order,
Deny 和
Allow 是Apache 2.2指令,您更可能位于Apache 2.4服务器上。这些指令现在被弃用,取而代之的是Apache 2.4
Require 指令组。