nginx httpsubmodule替换html内容

Abh*_*ari 2 static http nginx

我刚刚遇到了nginx httpsubmodule.我想这可能有助于我做到这一点.

我有HTML页面是静态的,我想在输出html中使用uri部分.例如我的静态URL是http://static.mydomain.com/pic1234.html所以在页面中我想显示单词"pic1234".我不能使用javascript,因为我想为静态页面生成HTML元数据.

可以这样做吗?如果是这样的话?我找不到任何例子.我发现的只有http://wiki.nginx.org/NginxHttpSubModule

请注意,我在服务nginx服务器的静态文件上没有cgi或程序.

ina*_*inc 7

我创建了一个简单的例子.使用此配置,nginx使用__name__所请求的html的文件名(在本例中为"pic1234")替换html页面中的标记:

nginx配置:

server {
        listen   80;
        server_name localhost;

        root D:/Development/public;
        sub_filter_once off;

        location / {
            if ($uri ~* /(\w+)\.html$) {
               set $filename "$1";
            }
            sub_filter "__name__" $filename;
            try_files $uri $uri/ ;
        }
}
Run Code Online (Sandbox Code Playgroud)

d:/Development/public/pic1234.html:

<html>
<head>
  <title>__name__</title>
</head>
<body>
  <h1>Contents of __name__:</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到要点