Назад | Перейти на главную страницу

Символы регулярного выражения nginx, требующие цитирования?

Сегодня я настраивал nginx и столкнулся с странной проблемой. Я пытался сопоставить такое место:

location ~ ^/([0-9]+)/(.*) {
    # do proxy redirects
}

... для URL типа "http://my.domain.com/0001/index.html".

Это правило никогда не соответствовало, несмотря на то, что оно по всем правилам должно. Мне потребовалось некоторое время, чтобы понять, основываясь на эта документация, что некоторые символы в регулярных выражениях необходимо заключать в кавычки. Проблема в том, что документация предназначена для перезаписи, и в ней конкретно указаны фигурные скобки, а не квадратные скобки. После изрядного экспериментирования, которое включало много ругательств, я обнаружил, что могу решить проблему, цитируя регулярное выражение следующим образом:

location ~ "^/([0-9]+)/(.*)" {
    # do proxy redirects
}

Есть ли где-нибудь список символов, с которыми nginx требует цитирования регулярных выражений? Или здесь может быть что-то еще, чего я полностью упускаю? Это моя первая работа по настройке nginx, поэтому вполне возможно, что я что-то неправильно понял ...

Вам нужен номер? Я бы сначала попробовал более простой вариант и посмотрел, не в чем-то другом.

Я бы попробовал, если ^ / [0-9] + /, или вам нужны захваченные элементы?