Du ska ha [NC,OR] efter alla regler utom den sista. OR länkar samman reglerna så att RewriteRule körs om någon av alla villkoren är sanna. Utan OR måste alla vilkor vara sanna samtidigt.
NC betyder att kontrollen är skiftläges oberoende.
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} moskva.clan-base\.de [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.yj\.ae [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.on\.gp [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.online\.cm [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.v0r\.org [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.de\.ki [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.x\.gg [NC,OR]
RewriteCond %{HTTP_REFERER} moskva.yj\.ae [NC]
RewriteRule .* - [F]
För att svara på den andra frågor du har ställt kommer här en kort lektion:
. eller \. ?
. har en specialbetydelse, nämligen "matcha valfritt tecken" och \. gör att denna betydelse upphävs så att bara en punkt kommer att trigga kontrollen av just det tecknet.
Om ditt utryck är moskva.yj.ae så kommer alltså moskva.yj.ae trigga regeln, men även något i stil med moskvaXyjXae.com. Detta är nog inte något större problem just i ditt fall, men det ska du göra helt rätt bör alla punkter skrivas som \. i ditt uttryck.
Blockera allt från "moskva"?
Matchningen fungerar så att så fort någon del av referrer-strängen matchar uttrycket så utförs regeln.
RewriteCond %{HTTP_REFERER} r [NC]
RewriteRule .* - [F]
... kommer t ex att blockera alla referrers som någonstans innehåller bokstaven r. Så svaret på din fråga är följdaktligen:
RewriteCond %{HTTP_REFERER} moskva [NC]
RewriteRule .* - [F]
Det finns sätt att matcha så att en sträng måste börja eller sluta på ett visst sätt, eller exakt matchar något, om det är vad man vill.