我们先来了解一下html或htm与shtml或shtm的关系是什么
html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm 由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。
Nginx本身已经支持了shtml格式文件解析,但默认是不开启的,需要手动开启。
在nginx.conf配置文件http里添加:
代码如下 | 复制代码 |
ssi on; ssi_silent_errors on; ssi_types text/shtml; |
保存重启nginx即可。
如果需要添加默认首页,可以在nginx.conf里找到Index选项,写成
代码如下 | 复制代码 |
Index index.shtml index.html index.htm |
保存重启nginx即可。
如果你是apache服务器我们可以参考下面方法解决
如何使你的Apache服务器支持SSI?
Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例,打开conf目录下的httpd.conf文件,搜索“AddType text/html .shtml”,搜索结果:
代码如下 | 复制代码 |
# AddType text/html .shtml # AddOutputFilter INCLUDES .shtml |
把这两行前面的#去掉。
然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即将该行改变为 Options Indexes FollowSymLinks Includes
保存httpd.conf,重起apache即可。
时间: 2024-10-25 06:01:46