Я неоднократно видел в htaccess следующие типы правил:
RewriteCond %{HTTP_REFERER} !^http://www.domain.it$ [NC]
или
RewriteCond %{HTTP_HOST} !^www\.domain\.it$ [NC]
Почему нужен флаг NC при проверке только части домена?
Я заметил, что браузеры всегда конвертируют верхние регистры в именах доменов в нижние регионы, поэтому я не вижу, что в этом случае флаг [NC] является допустимым.
Я имею в виду, если мы проверим оставшуюся часть URL-адреса, я понимаю необходимость возникновения флага [NC] в системах Unix www.domain.com/index.html - это другой файл, чем www.domain.com/index.html, но я не понимаю необходимости флага NC когда мы проверяем только часть домена в RewriteRule.
Поскольку вы нашли время, чтобы прочитать выше, позвольте мне задать еще один незначительный вопрос, не связанный напрямую с флагом NC, но все же связанный с RewriteCond
Оба RewriteCond, показанные выше, работают хорошо, я думал, что только с косой чертой, когда точки будут работать (!^www\.domain\.it$), потому что точка без косой черты должна означать "any char" в regexp, в то время как \. означает точку char, но, кроме всего прочего, другая работает хорошо, знаете ли вы, почему?