我无法让 ssi 在 Tomcat 5.5.27 上工作。
使用标准 SSI 配置并将其记录在日志中
SEVERE:#include--无法包含文件:/file/hi.htmljava.io.IOException:无法获取路径的上下文:/file/hi.html
我不知道背景是什么。
感谢您的帮助
配置
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.ssi.SSIServlet
</servlet-class>
<init-param>
<param-name>buffered</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>inputEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>outputEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
首先,Tomcat 5.5 自 2012 年 9 月 30 日起就不再受到 ASF 的支持。你真的需要升级。2008 年发布了 5.5.27,此后有很多错误修复和安全修复。更多升级的充分理由。
使用您提供的最少信息(没有有关如何部署应用程序的详细信息,没有显示触发此错误的源代码的代码段),看起来您正在尝试执行相对于 Web 应用程序的根目录的包含,而无需为此配置 SSI servlet。将isVirtualWebappRelative
设置为1
应该可以解决问题。