Как использовать nginx для обслуживания простого запроса GET (определить параметры пути и использовать его для замены текста в файле, а затем вернуть его)?
Это довольно сложно. Я пытаюсь использовать nginx для обслуживания простого запроса GET, как сервер веб-приложений.
Проблема:
У меня есть файл, расположенный из корневого пути в Интернете по адресу:
/group/catetory/item/file.html
Внутри "file.html" есть 3 переменные, которые мне нужно заменить:
<GROUP>, <CATEGORY>, and <ITEM>
Данные должны быть извлечены из вызываемого URI. Предлагаемый пример:
https://hostname.com/hardware/memory/samsung10.html
*(Note: the solution to this calling URI can be anything as long as it works.)* In this example, "hardware" will replace "<GROUP>", "memory" will replace "<CATEGORY>" and "samsung10" will replace "<ITEM>" in the file.html.
Затем я бы использовал "ngx_http_sub_module", чтобы заменить текст в указанном файле, и, наконец, вернуть его веб-клиенту.
Шаги, по которым мне нужна помощь:
Шаг 1 - Определите части URI и выберите переменные: Это должно быть с использованием директивы "location", например:
location /(\d+)/(\d+)/(\d+)
и используйте $1, $2 и $3 для ссылки на переменные. Это правильно?
Шаг 2 - Заберите файл из указанного места: я посмотрел на директивы "переписать" и "вернуть", но они, похоже, немедленно возвращают файл. Как мне прочитать файл для дальнейшей обработки?
Шаг 3 - заменить текст: файл, считываемый из указанного места, может быть использован командой "ngx_http_sub_module" "sub_filter" для замены текстовых строк. (Думаю, я знаю, как это сделать, когда доберусь до этой стадии.)
Шаг 4 - вернуть файл с замененными строками.