SSI 指令 include 的路径问题

按照官方文档,include 指令有两个参数:file,virtual。即如下使用格式:

<!--#include file="header.inc"-->
<!--#include virtual="/include/header.inc"-->

file 参数很容易理解,也就是说被引用的 header.inc 文件要与引用者在同一个目录下。而 virtual 参数就有一定的迷惑性,“/”不是项目的根目录,而是 tomcat 的根目录。一般情况下,在开发阶段的运行格式如:

http://localhost:8080/Website/ 

上述 URL 格式是项目的根目录,而 tomcat 的根目录是 http://localhost:8080/ ,不包括 Website/ 的部分 。那么在使用 virtual 参数时,一定要把 Website 的部分加上。也就是说,如果项目运行的根目录是 http://localhost:8080/Website/ ,则必须使用如下格式引用文件:

<!--#include virtual="/Website/include/header.inc"-->

同理,如果把项目直接部署在 tomcat 的根目录下运行时(http://localhost:8080/,其实大多数项目都是部署在 tomcat 的根目录,如 http://web.eagsen.com/),则不需要 Website 的部分,即:

<!--#include virtual="/include/header.inc"-->

鉴于此,如果使用了 SSI 功能,最好就是在开发阶段就部署在 tomcat 的根目录下,这样就避免了很多开发与部署时的困惑与麻烦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值