我的 NGINX SSI 在 virtualHosts 文件(下面的代码)中工作正常,但LAST_MODIFIED
返回“(无)”,尽管SSI 的 NGINX 文档声明该ssi_last_modified
指令出现在版本 1.5.1 中(我们正在运行版本 1.14.2)。
虚拟主机文件:
…
location / {
ssi on;
ssi_last_modified on;
…
}
…
并在 .html 文件中:
<!--#if expr="$footer_id='blackfooter'" --><div id="blackfooter"><!--#else --><div id="footer"><!--#endif -->
<!--#config timefmt="%A %d %B %Y" --><p>Updated: <!--#echo var="LAST_MODIFIED" --> | Today: <!--#echo var="DATE_LOCAL" --></p>
</div>
所以现在,我使用了 JavaScript:
<!--#if expr="$footer_id='blackfooter'" --><footer id="blackfooter"><!--#else --><footer><!--#endif -->
<!--#config timefmt="%A %d %B %Y" --><p>Updated: <span id="updated"></span> | Today: <!--#echo var="DATE_LOCAL" --></p>
</footer>
<script>
let lastmod = new Date(document.lastModified);
updated.innerHTML = lastmod.toString().substring(4,15);
</script>
为什么NGINX 提供了其他记录在案的 SSI 功能,但不在LAST_MODIFIED
标头中?
我发现的唯一可能的线索是NGINX ngx_http_sub_modulesub_filter_last_modified
的文档中提到了AFAIK(而且我不是 NGINX 专家)我不确定这有多大帮助。