首页 > 解决方案 > IIS htaccess 规则转换器仅导入 1 条规则

问题描述

我有一个示例.htaccess文件(在此处找到),其中包含要阻止的坏机器人。这是该文件中的一个小示例代码块:

#bad bots start
#programmed by tab-studio.com public  version 2017.12
#1 new rule every 500 entries
RewriteCond %{HTTP_USER_AGENT} \
12soso|\
192\.comagent|\
1noonbot|\
zuibot|\
zyborg|\
zyte\
 [NC]
RewriteRule .* - [F]
#bad bots end

基本上是403在 URL 匹配上抛出一个。我查看了这篇文章以了解如何通过 IIS 将这些.htaccess规则转换为web.config重写规则。但是,当我导入规则时,我得到了一个意外的结果,其中似乎没有转换任何规则,请参见下图。我究竟做错了什么?

在此处输入图像描述

标签: .htaccessurl-rewritingweb-configiis-10

解决方案


在 \ 和回车符上肯定会窒息。如果您尝试以下操作,您会看到它应该正确导入:

#bad bots start
#programmed by tab-studio.com public  version 2017.12
#1 new rule every 500 entries
RewriteCond %{HTTP_USER_AGENT} 12soso|192\.comagent|1noonbot|zuibot|zyborg|zyte
 [NC]
RewriteRule .* - [F]
#bad bots end

话虽如此,您可能会考虑改用请求过滤和扫描标头:https ://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/filteringrules/filteringrule/scanheaders/


推荐阅读