Forum Moderators: phranque
RewriteCond %{HTTP_REFERER} service.dropdowndeals.com [NC,OR]
RewriteCond %{REQUEST_URI} ^/(?:[^a-z0-9]|crossdomain|(?:phpmy)?admin|p2|ui|impl\.|editor|phpunit|header-rollup|system|bitcoin|rev/|script|public) [NC,OR]
...
RewriteCond %{THE_REQUEST} \?\ HTTP/|\/\*\ HTTP/|etc/passwd|%0A|%0D [NC]
RewriteRule ^ - [F] RewriteCond %{REQUEST_URI} !^/\.well-known/
RewriteCond %{REQUEST_URI} ^/[^a-zA-Z0-9]
RewriteRules ^ - [F]
RewriteCond %{HTTP_REFERER} service.dropdowndeals.com [NC,OR]
RewriteCond %{REQUEST_URI} ^/(?:crossdomain|(?:phpmy)?admin|p2|ui|impl\.|editor|phpunit|header-rollup|system|bitcoin|rev/|script|public) [NC,OR]
...
RewriteCond %{THE_REQUEST} \?\ HTTP/|\/\*\ HTTP/|etc/passwd|%0A|%0D [NC]
RewriteRule ^ - [F]
RewriteCond %{HTTP_REFERER} service.dropdowndeals.com [NC,OR]
RewriteCond %{REQUEST_URI} !^/\.well-known/
RewriteCond %{REQUEST_URI} ^/(?:[^a-z0-9]|crossdomain|(?:phpmy)?admin|p2|ui|impl\.|editor|phpunit|header-rollup|system|bitcoin|rev/|script|public) [NC,OR]
...
RewriteCond %{THE_REQUEST} \?\ HTTP/|\/\*\ HTTP/|etc/passwd|%0A|%0D [NC]
RewriteRule ^ - [F]
# parentheses obviously just for explanatory purposes
(
RewriteCond %{HTTP_REFERER} service.dropdowndeals.com [NC,OR]
RewriteCond %{REQUEST_URI} !^/\.well-known/
) [AND]
(
RewriteCond %{REQUEST_URI} ^/(?:[^a-z0-9]|crossdomain|(?:phpmy)?admin|p2|ui|impl\.|editor|phpunit|header-rollup|system|bitcoin|rev/|script|public) [NC,OR]
...
RewriteCond %{THE_REQUEST} \?\ HTTP/|\/\*\ HTTP/|etc/passwd|%0A|%0D [NC]
)
BrowserMatch (nominet\.uk/privacy-notice) bot_is=wellknown:$0 BrowserMatch "Let's Encrypt validation server" letsencryptB bot=letsencrypt
SetEnvIf REQUEST_URI \.well-known/acme-challenge/ letsencryptR requri=letsencrypt:$0
# Require env letsencrypt
<RequireAll>
Require env letsencryptB
Require env letsencryptR
</RequireAll> <if "! (%{HTTP_USER_AGENT} =~ m#letsencrypt.org#)">
BrowserMatch [\"\'\$%&\*=@~#\{\}\[\]\<\>\?\|\\\!] useragent=symbol:$0
</if> # allow acceptable bots
<if " ! %{HTTP_USER_AGENT} =~ m#((Apple|bing|Exa|Google|istella|Twitter)bot|(Mojeek|Seznam|Yandex)Bot|BingPreview|DuckDuck|facebook|Let's Encrypt|Qwantify|Vagabondo|Yeti)# && ! %{REQUEST_URI} =~ m#/robots\.txt#">
BrowserMatch .{0,10}([Bb]ot|[Cc]rawl|rank|review|spider).{0,10} bot_is=bad_robot:$0
</if> <Directory "/srv/website">
DirectoryIndex index.php
AllowOverride All
Include /etc/apache2/use-setenv.conf
</Directory>
RewriteCond %{REQUEST_URI} !\.well-known
RewriteRule ^\W - [F]
but perhaps I missed something?