У мене є сайт, працює на nginx. Мені потрібно переписати такі URL-адреси:
domain.com/blabla/88-aaa-aaaaa-aaaa/qqqq-qqq11-2qq-qqq.html
до цього
domain.com/blabla/aaa-aaaaa-aaaa/qqqq-qqq11-2qq-qqq
це означає - видаліть номер після косої риски, після чого тире, а потім розширення ".html".
Щоб досягти цього, я намагався використовувати
location ~* \/[0-9]{1,4}(-.*)(\.html)$ {
......
}
але в тестері локації він повністю ігнорує тире та збіги .../88aaa...
, чого я хочу уникати. Потім я прочитав, що якщо вираз містить фігурні дужки, навколо виразу необхідно використовувати одинарні або подвійні лапки. Тому я спробував це
location ~* "\/[0-9]{1,4}(-.*)(\.html)$" {
......
}
Досі не пощастить ... З цитатами вона не відповідає розташуванню в обох випадках. Може хтось, будь ласка, допоможе?
/
не потрібно уникати. Спробуйте:location ~* /[0-9]{1,4}(-.*\.html)$ {
nginx
не буде перезапущено у вашій першій спробі (без лапок) - вона все одно буде виконувати попередню конфігурацію. Друга спроба (з котируваннями, з фальшивою зворотною косою рискою або без неї) працює для мене. Що відбувається всередині location
блоку?