Regex .htaccess阻止uri以句号或下划线开头的请求


Regex .htaccess block requests where the uri starts with a period or underscore

我试图使用。htaccess文件来阻止似乎是对我的项目的恶意请求。我有一些RewriteCond阻止用户代理,但我现在想要照顾的请求,包含以._开头的路径。

作为一个例子,我想阻止这些:https://my.project.url/.webhttps://my.project.url/_backup

但是我想允许这些:https://my/api/version/current_producthttps://my.project.url/something.php

我有一些表达式阻止请求到公共端点:RewriteRule ^.*wp-admin - [NC,F]但不知道如何开始修改,以阻止新的垃圾邮件请求

RewriteRule .*/['._].* - [F]

这样更容易读。因为两者都不需要NC。或者_有一个大小写,其他都是通配符。

这是我想到的,它适用于我的用例:RewriteRule (.*'/'.|.*'/_) - [NC,F]

翻译:如果路径的任何部分包含/./_,则禁止请求