Что это значит:
RewriteRule "(^|/)\." - [F]
Я знаю, что флаг F означает выдачу запрещенной ошибки 403. И я знаю, что экранированная точка означает, что каталоги, начинающиеся с точки, запрещены. Но что означают вставка, вертикальная черта и косая черта в скобках? В чем будет разница между приведенным выше утверждением и этим:
RewriteRule "\." - [F]
Что, если бы я хотел пометить URL-адреса как запрещенные, если они начинаются с точки, но с исключением для этого каталога:
.well-known
Обновить: Похоже, я могу удовлетворить последнее требование с помощью ...
RewriteRule "(^|/)\.(?!well-known)" - [F]
Мне все еще интересно, что означают вставка, вертикальная черта и косая черта в скобках.
^
и $
- специальные символы, которые представляют начало и конец строк (или строк)
в |
является OR
условное обозначение
(^|/)\.
расширяется до ^.
или /.
(без косой черты для ясности)
^.
= любая строка, имеющая .
как первый персонаж
/.
= любая строка с /.