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