是的,Apache 的 .htaccess 文件可以通过设置伪静态规则来根据 User-Agent(UA)关键字拦截或禁止流量访问。如果你想禁止某个爬虫(比如 GPTBot)访问,你可以通过以下步骤实现:
步骤 1: 编辑 .htaccess 文件
在网站的根目录下找到或创建 .htaccess 文件,并添加以下规则来拦截 GPTBot 爬虫。
示例 .htaccess 配置:
# 禁止 GPTBot 访问
SetEnvIf User-Agent "GPTBot" block_bot
<RequireAll>
    Require all granted
    Require not env block_bot
</RequireAll>解释:
- SetEnvIf User-Agent "GPTBot" block_bot:这行代码检查请求头中的- User-Agent是否包含- "GPTBot",如果包含,它会设置一个名为- block_bot的环境变量。
- <RequireAll>:这是 Apache 2.4 及以上版本使用的规则来处理访问控制。- Require all granted:允许所有访问。
- Require not env block_bot:如果请求的- User-Agent匹配- GPTBot,即设置了- block_bot环境变量,这条规则会拒绝该请求。
 
步骤 2: 保存并上传 .htaccess 文件
保存 .htaccess 文件并将其上传到网站根目录。此时,所有来自 GPTBot 的请求都会被拒绝,返回一个 403 Forbidden 状态码。
其他建议:
- 你可以根据需要修改 User-Agent关键字,比如:- 如果你要禁止多个爬虫,可以使用 |(逻辑或)来匹配多个关键字,如"GPTBot|Bingbot|Googlebot"。
- 你也可以根据 IP 地址等其他因素来进一步限制访问。
 
- 如果你要禁止多个爬虫,可以使用 
完整示例(禁止多个爬虫):
# 禁止多个爬虫访问
SetEnvIf User-Agent "GPTBot" block_bot
SetEnvIf User-Agent "Bingbot" block_bot
SetEnvIf User-Agent "Googlebot" block_bot
<RequireAll>
    Require all granted
    Require not env block_bot
</RequireAll>这样设置后,你就能根据 User-Agent 禁止特定的爬虫访问你的站点。
亲测效果可用

