参考:http://www.doc88.com/p-505837194275.html(静态页面嵌套的几种方式)
如果是nginx+html模式,则不需要配置tomcat,如果是tomcat+html,则不需要配置nginx。如果nginx+tomcat+html 则都需要配置。
一、打开tomcat的SSI服务
tomcat7 默认是关闭ssi服务的,需要手工打开里面的注释。
tomcat 支持两种方式打开SSI,
servlet和filter 这里以
servlet为例:
1 打开
D:\Tomcat\conf\web.xml 注释 <servlet-name>ssi</servlet-name>
同时加入
<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>
<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>
修改后效果如下:
<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>0</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>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</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>0</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>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
2 打开mapping,同时修改.shtml为html。修改后效果如下:
<!-- The mapping for the SSI servlet -->
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<Context>为:<Context privileged="true">
4 重启tomcat即可。
二、打开nginx的SSI服务
1 修改D:\nginx-1.3.16\conf\nginx.conf
在service中增加
ssi on;
ssi_silent_errors on;
ssi_types text/html;//text/html可以修改成text/shtml
ssi_silent_errors on;
ssi_types text/html;//text/html可以修改成text/shtml
增加后效果如下:
server {
listen 80 ;
server_name localhost;
location / {
ssi on;
ssi_silent_errors on;
ssi_types text/html;
root "D:\workspace\hzw-website\website-html\view\default";
index index.html;
}
location ^~ /website-web/{
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
client_max_body_size 10m;
}
location ^~ /view/{
rewrite ^/view/default(.*)$ /$1 permanent;
}
location ~* \.(gif|jpg|png|jpeg|svg|js|css|json|mp3|mp4|ttf|woff|ico)$ {
root "D:\workspace\hzw-website\website-html";
}
}
}
listen 80 ;
server_name localhost;
location / {
ssi on;
ssi_silent_errors on;
ssi_types text/html;
root "D:\workspace\hzw-website\website-html\view\default";
index index.html;
}
location ^~ /website-web/{
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
client_max_body_size 10m;
}
location ^~ /view/{
rewrite ^/view/default(.*)$ /$1 permanent;
}
location ~* \.(gif|jpg|png|jpeg|svg|js|css|json|mp3|mp4|ttf|woff|ico)$ {
root "D:\workspace\hzw-website\website-html";
}
}
}
三、页面嵌套html
页面1:
index.html
<!
DOCTYPE
html>
<
html
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>
index
</
title
>
</
head
>
<
body
>
<!--#include virtual = "common/header.html" -->
</
body
>
</
html
>
页面二:
header.html
<!
DOCTYPE
html>
<
html
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>
index
</
title
>
</
head
>
<
body
>
hello world!
</
body
>
</
html
>