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

通过.htaccess拒绝/rest/*及/index.php/rest/*路径请求的方法

在.htaccess中拦截/rest/*与/index.php/rest/*请求

你可以在WordPress默认的.htaccess规则之前添加以下Rewrite规则,这样能在请求到达WordPress核心前就直接拦截,避免生成404页面的资源消耗:

# 拦截/rest/开头或/index.php/rest/开头的请求
RewriteEngine On
RewriteRule ^(index\.php/)?rest/ - [R=400,L]

规则说明:

  • ^(index\.php/)?rest/:精准匹配两种路径格式——直接以/rest/开头,或者以/index.php/rest/开头的请求
  • R=400:返回和你原PHP代码一致的400 Bad Request状态码
  • L:标记为最后一条规则,匹配成功后不再执行后续规则,直接返回响应

对比原PHP逻辑:

你之前在functions.php中使用的拦截代码:

if(substr($_SERVER['REQUEST_URI'],0,6) == '/rest/' || substr($_SERVER['REQUEST_URI'],0,16) == '/index.php/rest/'){
    header( 'HTTP/1.1 400 BAD REQUEST' );
    exit("Invalid Request");
}

上述.htaccess规则完全等价于这段PHP的拦截逻辑,但执行时机更早,无需加载WordPress核心就能完成拦截,能大幅降低服务器资源占用。

注意:务必将这段规则放在WordPress自带的# BEGIN WordPress注释块之前,否则会被WordPress的默认规则覆盖,无法生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:30:08