У меня есть переписать в моем файле конфигурации ngix, который работает должным образом, за исключением того, что он включает в себя блок location как часть переменной $ uri. Я хочу только путь после блока местоположения. Мой текущий код конфигурации:
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
Использование примера URL http://localhost/cargo/testpage
перенаправления работает, однако значение параметра "_REWRITE_COMMAND", полученное моим php-файлом, равно "/ cargo / testpage". Мне нужно убрать блок местоположения и просто иметь "тестовую страницу" в качестве $ uri
Я почти уверен, что есть синтаксис регулярных выражений для разделения $ uri и назначения его новой переменной, используя $ 1 $ 2 и т. Д., Но я не могу найти ни одного примера, чтобы сделать просто присвоение переменной с использованием регулярного выражения, которое не является частью перезаписи заявление. Я искал и пытался часами, и я просто не могу пройти этот последний шаг.
Я также знаю, что мог бы просто удалить это из кода приложения, но причина, по которой я хочу попытаться исправить это в conf nginx, заключается в соображениях совместимости, так как он также работает на Apache. Я также должен сказать, что я нашел действительно хакерский способ сделать это, но он включает в себя оператор «если», чтобы проверить наличие файлов, и в документации, в частности, сказано, чтобы не делать это таким образом.
Я нашел другую вещь, которая работала для меня (так как я использую Gunicorn, я не могу выбрать, что проходить)
Вы должны быть в состоянии сойти с рук
источник
Для тех, кому трудно добавить его для микро-сервиса или API с Node JS, я использовал следующее для удаления
api
из URL на моем сервере:источник