配置nginx的SSI
配置
SSI (Server Side Includes) 可以实现静态内容的局部更新,Nginx的HttpSsiModule提供SSI支持, 最简单的配置如下:
location ~* \.shtml$ { ssi on; ssi_silent_errors off; }
在HTML页面中可以通过以下命令包含另一个包含动态内容的页面:
<!--# include virtual="/login.php" -->
如果需要将参数传递给动态页面,引用nginx的环境变量,如:
<!--# include virtual="/news_list.php?$QUERY_STRING" -->
假如包含以上代码的页面是index.shtml, 当访问http://yourdomain.com/path/to/index.shtml?category=2&page=3, 则包含的页面相当于/news_list.php?category=2&page=3.
编码问题
如果遇到类似xavier遇到的编码问题,需要确保文件及被包含文件的编码是一致的,并将Nginx的charset配置为对应编码,如UTF-8:
http { charset utf-8; }
参考
http://wiki.nginx.org/HttpSsiModule
http://en.wikipedia.org/wiki/Server_Side_Includes
http://wiki.nginx.org/HttpCharsetModule