“允许来自”远程主机名有效,但在 .htaccess 中使用 SetEnvIf 时无效

“允许来自”远程主机名有效,但在 .htaccess 中使用 SetEnvIf 时无效

在 .htaccess 中,我尝试通过远程主机名限制访问,例如来自 googlebot.com 的请求。我发现以下方法有效:

Order Deny,Allow
Deny from All
Allow from googlebot.com

SetEnvIf但是,当使用以下方法时,这种方法不起作用

SetEnvIf Remote_Host googlebot.com friendly_robot
Order Deny,Allow
Deny from All
Allow from env=friendly_robot

有人能向我解释为什么第一个实例有效而第二个实例无效吗?我花了几个小时在线阅读,但不明白为什么它不起作用SetEnvIf

答案1

您是否尝试过在 SetEnvIf 正则表达式中转义点?例如

SetEnvIfNoCase Remote_Host googlebot\.com$ friendly_robot

相关内容