通过 htaccess 阻止所有用户代理,除了一个

Block all user-agents by htaccess except one

我有一个 htaccess 重写规则代码,它适用于 Apache 但不适用于 litespeed。

<Files "bg.js">
SetEnvIfNoCase User-Agent .*autoit.* search_robot
Order Deny,Allow
Deny from All
Allow from env=search_robot
</Files>

我想阻止除与 autoit 匹配的不区分大小写的用户代理之外的所有用户代理。

如何让重写规则在 litespeed 上工作?

遗憾的是,LiteSpeed 不支持 .htaccess 文件中的 SetEnvIf* 指令。作为替代方案,您需要使用 mod_rewrite:

RewriteEngine On

# Check that the request is for /bg.js
RewriteCond %{REQUEST_URI} ^/bg.js

# Check that the request matches an existing file
RewriteCond %{REQUEST_FILENAME} -f

# Check that the user agent does not contain autoit
RewriteCond %{HTTP_USER_AGENT} !autoit

# If all conditions above are met, then deny access to this request
RewriteRule ^ - [F,L]