Esta solução não cobre todos os casos.
Substitua qualquer número ou ponto no URL do IP por seu% ##, por exemplo 1 por% 31 ... 8 por% 38 e você chegará ao IP, não ao URL do domínio.
Suponha que esse IP incorreto seja usado para facilitar a explicação: 123.45.6.789
Você deve usar as 2 alternativas para todos os dígitos e pontos: o ponto é% 2E e 0..9 são% 30 ..% 39
RewriteEngine on
RewriteCond %{HTTP_HOST} (1|%31)(2|%32)(3|%33)(\.|%2E)(4|%34)(5%35)(\.|%2E)(6|%36)(\.|%2E)(7|%37)(8|%38)(9|%39)
RewriteRule . - [F]
Feio, ele pode ser reduzido com {1,3} e restringido ao IP válido, mas, como é para o seu IP, não é necessário fazê-lo.
Não esqueça as portas como ": 80". HTTP_HOST o contém e SERVER_NAME não é confiável.