| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > nginx, вынос мозга - почему не работает try_files |
| Автор: eurobax 11.7.2014, 23:19 | ||||||
| Делаю защищенную директорию для скачки файлов. Скачивать файлы можно по ссылке: хttp://сайт.ру/private/<uiserid:GUID>/<имя файла> Хранятся они соответственно: /userfiles/private/<uiserid:GUID>/<имя файла> Например: файл лежит в /userfiles/private/09b..32/1.png (где 09b..32 - это userid:GUID) url для скачки выглядит так: xttp://сайт.ру/private/09b..32/1.png Конфиг nginx (и это прекрасно работает):
Теперь сама трабла. Я выкурил много травы, и решил, что на сервере удобней организовать структуру папок иначе (папка private стала размещаться внутри <userid>):
Изменил конфигу nginx:
И она перестала работать! Т.е. запрос проваливается на backend (через @files_private_failed, это не суть) Я пробовал и сам try_files /private/$2, try_files private/$2 - тоже не работает Вобщем, весь вопрос - как заставить понимать азбуку? Я отлавливал в бэкенде параметры $1 и $2, все они "вырезаются" нормально, Пути и файлы на диске существуют. Что я делаю не так? |
| Автор: _zorn_ 21.7.2014, 16:43 |
| Мало курил http://nginx.org/ru/docs/ Будут вопросы - обращайся. но субя по всему тебе нужен alias |
| Автор: eurobax 24.7.2014, 13:23 |
| Да курил я.. и на форумах спрашивал - толку мало. Решение нашел, причем случайно. Вобщем, дело не в регулярном выражении, а именно в самом try_files. В документации про это не написано. Если кому интересно, пишите в Л.С. |