gpt4 book ai didi

regex - 需要制定 htaccess 规则来阻止空用户代理,除非请求包含特定字符串

转载 作者:行者123 更新时间:2023-12-03 04:45:10 24 4
gpt4 key购买 nike

我想出于坏机器人原因阻止空用户代理。所以我有这个规则:

RewriteCond %{HTTP_USER_AGENT} ^-?$
RewriteRule ^ - [F]

现在,我们的一位客户使用 RSS 聚合器,其对其提要的请求以“-”用户代理的形式出现...因此,我尝试向此规则添加一个条件,即“如果请求不包含/feed”然后阻止访问...所以这是我尝试过的主要事情:

RewriteCond %{HTTP_USER_AGENT} ^-?$
RewriteCond %{REQUEST_URI} !^(.*)(/feed)(.*)$
RewriteRule ^ - [F]

但是请求仍然被阻止。我知道这只是这个规则集阻止了它,因为如果我将其注释掉,那么请求就会顺利通过。

任何帮助将不胜感激!

最佳答案

日志已经说得很清楚了。您还有另一个重写,它将/en/feed 重写为/index.php,然后/index.php 得到了禁止的响应。将规则更改为:

RewriteCond %{HTTP_USER_AGENT} ^-?$
RewriteCond %{REQUEST_URI} !=/en/feed
RewriteRule ^ - [F,L]

(添加 L 标志,我还改进了第二行以仅定位提要 URL)

并将其放在其他重写之前。

关于regex - 需要制定 htaccess 规则来阻止空用户代理,除非请求包含特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41517098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com