Внутренняя перезапись в Nginx не работает и перенаправляется

Привет, мне нужно правило перезаписи, но я не хочу его перенаправлять и запрашивать один URL, но загружать другой контент с другого URL. Итак, я думаю, что флаг last и break в директиве rewrite - хорошее решение. Но он всегда перенаправляется, я ищу проблему, и они заявляют, что если новый URL-адрес не из экземпляра nginx, он будет перенаправлен вместо этого. Вот несколько строк моего конфига: Например, я хочу создать новый лайк / link / asd, но в моем веб-приложении нет / link / asd. Я хочу, чтобы ресурс загрузки ссылки / link / asd из ссылки / asd. Тогда я думаю, что флаг перезаписи последнего - хорошее решение. Если мое понимание неверно, пожалуйста, поправьте меня и объясните. Спасибо

1
задан 14 October 2017 в 17:02
1 ответ

Если вы хотите точно переписать / link / example на / example , где example - это что угодно, вы можете использовать эта перезапись :

rewrite ^/link/(.+)$ /$1 last;

Это также будет соответствовать / link / example / something / else , поскольку . + соответствует любым символам до конца строки ( $ ). Если вы хотите ограничить, какие символы разрешены в группе захвата, например, исключить / из группы захвата, можно использовать нотацию [^ /] + для регулярного выражения.

0
ответ дан 4 December 2019 в 04:31

Теги

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