根据Apache documentation个示例,rewritemap txt文件可以使用以下格式:
# Comment line
MatchingKey SubstValue
MatchingKey SubstValue # comment
但是,文档还说:“这是标准的重写地图功能,其中MapSource是一个纯ASCII文件,其中包含空白行,注释行(以'#'字符开头)或类似以下的对-每行一个”。 (与上面引用的示例文件不匹配,也在Apache文档中显示)
我有一个黑名单映射文件:
1.2.3.4 deny # 2018-09-11
在.htaccess中:
RewriteMap hosts-deny txt:/var/www/ban_ip.txt
RewriteEngine on
RewriteCond ${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^.*$ - [R=404]
其想法是能够将某些ip列入黑名单2天,并在此时间之后删除这些条目,但不能删除最新的条目。
当我在每一行中包含用于存储日期的#注释部分时,我收到“ 500 Internal Server error”。如果我只删除评论,一切都会按预期进行。
有人可以确认注释是否可以在txt rewritemap文件中使用?有任何解决方法吗?