检查并替换nginx的请求网址或正文

时间:2019-06-16 05:37:26

标签: nginx character arabic replacewith farsi

我想用Nginx中的波斯语替换阿拉伯字符的请求正文。 例如,用波斯语“ی”替换阿拉伯语“ي”或向API路由添加自定义参数。如何从一开始就检查请求并将其替换为波斯字符?

1 个答案:

答案 0 :(得分:0)

您必须在Nginx中使用Lua。 Lua是一种编程语言,主要设计用于嵌入式应用程序。

Lua programming language

Nginx Wiki - Lua

易于使用,只需三个步骤:

  1. 创建具有Lua扩展名的文件
ngx.req.read_body()

local body = ngx.req.get_body_data() or ''

body = ngx.re.gsub(body, "ي", "ی") -- remove id and name
body = ngx.re.gsub(body, "ك", "ک") -- remove id and name

ngx.req.set_body_data(body)
  1. 在Nginx配置文件中的服务器块内添加文件路径
server {
    access_by_lua_file "/var/www/lua/gateway_access.lua";
}
  1. 测试Nginx配置。
sudo nginx -t
  1. 重新启动Nginx服务。
sudo systemctl restart nginx