Как использовать 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 - вернуть файл с замененными строками.

0 ответов

Другие вопросы по тегам