У меня тоже вопрос. А знаете есть такая фича у

nginx, когда ты делаешь запрос на /bla, если в root folder есть папка bla, он возвращает редирект (3xx) - это происходит автоматически без каких либо дополнительных конфигураций.

Чтобы этого не происходило, можно делать внутренее перенаправление для нужных адресов
условно rewrite ^/(bla|bla1|bla2|bla3)$ /$1/ last; - тогда при запросах на эти страницы будут сразу отдаваться index.html в этих папках, без каких либо редиректов для клиента.

Но вот если лень описывать каждый такой uri, можно ли как-то стандартное поведение такого автоматического редиректа изменить с 3xx редиректа на внутренее перенаправление?

16 ответов

28 просмотров

А зачем вообще это делать? С точки зрения SEO /bla и /bla/ - это разные URI и ты по итогу дублируешь контент. Кроме того, если в этом index.html у тебя будут относительные ссылки - они перестанут работать. Почитай, что такое browsing context.

Dmitry-Sergeev 🇺🇦 Автор вопроса
Johann
А зачем вообще это делать? С точки зрения SEO /bla...

Мне пофиг на seo. Относительные не нужны

можно

Dmitry Sergeev 🇺🇦
Мне пофиг на seo. Относительные не нужны

С моей точки зрения ты хочешь странного. Нет, изменить такое поведение какими-то настройками нельзя. Так устроен исходный код: https://t.me/nginx_ru/229332

Johann
С моей точки зрения ты хочешь странного. Нет, изме...

только что проверил - можно чутка магии напустить :)

Dmitry-Sergeev 🇺🇦 Автор вопроса
Johann
С моей точки зрения ты хочешь странного. Нет, изме...

О, пасиб. Исходники на этот счёт не копал

Как по мне это наркомания, такими вещами заниматься )

Dmitry-Sergeev 🇺🇦 Автор вопроса
kiosaku
location / { try_fules $uri /index.html; }

того же самого можно добиться и rewrite'ом Но тут вопрос про то что, как бы сделать это универсально, не указывая каждую директорию, а чтобы для любой директории так было. Как выяснилось так не выйдет

kiosaku
location / { try_fules $uri /index.html; }

Тогда наверное немного не так try_files $uri/index.html $uri $uri/ =404; Так по идее должно сработать.

Dmitry Sergeev 🇺🇦
того же самого можно добиться и rewrite'ом Но тут ...

Можешь попробовать пример выше. Мне кажется будет работать. Хотя с моей точки зрения это концептуально неправильный подход.

Johann
Тогда наверное немного не так try_files $uri/inde...

угу, я $uri/index.html намеренно опустил ... а вот $uri - тут лишнее

Dmitry Sergeev 🇺🇦
того же самого можно добиться и rewrite'ом Но тут ...

А если тебе вообще не надо, чтобы работали ссылки вида /bla/, а только вида /bla, тогда ещё короче: try_files $uri/index.html $uri =404; Но это всё будет работать только если это статика. С index.php такой номер не прокатит.

kiosaku
угу, я $uri/index.html намеренно опустил ... а вот...

Почему это? Без него ни один файл кроме index.html не загрузится.

очепятка: не $uri, а $uri/

kiosaku
очепятка: не $uri, а $uri/

А, да, точно. $uri/ получается лишнее в любом случае, согласен.

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

Обсуждают сегодня

Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Коллеги, приветствую! Появилась не совсем тривиальная задача реализовать в nginx редирект HTTPS —> HTTP. Да, именно так, а не наоборот. Мы разрабатываем embedded устройство,...
Никита
24
Карта сайта