在以下通过NGINX提供的HTML文件中:
<html>
<body>Today is {{day}}</body>
</html>
我有以下JSON文件:
{
"year": "2015",
"month": "July",
"day": "Thursday"
}
我希望NGINX将输出修改为以下内容:
<html>
<body>Today is Thursday</body>
</html>
我已经研究过通过正则表达式搜索响应文本并使用以下模块替换它:NGINX使用:http://nginx.org/en/docs/http/ngx_http_sub_module.html
问题是,如何读取与NGINX位于同一服务器上的JSON文件,并映射替换?
P.s。:如果需要,我可以修改使用纯文本文件作为映射,而不是JSON文件。
答案 0 :(得分:0)
作为其他搜索者的参考,您可以为此使用SSI module of NGINX。
您将需要NGINX配置中的变量:
location = /today.html {
ssi on;
set $year '2015';
set $month 'July';
set $day 'Thursday';
root /var/www/default;
}
并在模板文件(/var/www/default/today.html
)中:
<html>
<body>Today is <!--# echo var="day" --></body>
</html>
我可以修改为使用纯文本文件而不是JSON文件
我现在不知道是否可以通过JSON进行此操作,但是纯文本文件应该可以做到这一点。您可以在模板(docs)中包含纯文本文件:
<html>
<body>
<!--# include file="day.txt" -->
</body>
</html>
day.txt
应该包含的位置
Thursday
您还可以包含返回当前日期的脚本,因此无需更新day.txt
。