Вставка в скобках в RewriteRule

Что это означает:

RewriteRule "(^|/)\." - [F]

Я знаю, что флаг F означает выдачу запрещенной ошибки 403. И я знаю, что экранированная точка означает, что каталоги, начинающиеся с точки, запрещены. Но что означают символы вставки, вертикальной черты и косой черты в скобках? В чем будет разница между приведенным выше утверждением и этим:

RewriteRule "\." - [F]

Что, если бы я хотел пометить URL-адреса как запрещенные, если они начинаются с точки, но с исключением для этого каталога:

.well-known

Обновление : Похоже, Я могу удовлетворить последнее требование с помощью ...

RewriteRule "(^|/)\.(?!well-known)" - [F]

Мне все еще интересно, что означают символы вставки, вертикальной черты и косой черты в скобках.

1
задан 11 November 2019 в 18:16
1 ответ

^ и $ специальные символы, которые представляют начало, и конец строк (или строки)

эти | OR, символ

(^|/)\. расширяется до ^. или /. (не выходя из наклонной черты для ясности)

^. = никакая строка, которая имеет . как первый символ

/. = любая строка с /.

0
ответ дан 4 December 2019 в 02:33

Теги

Похожие вопросы