firefox浏览shtml时直接显示源代码问题
今天浏览网页时,打开一个网页http://photo.17ok.com/,发现直接显示了源代码,随之把页面补全,.php .html .htm都试过但都提示server not found,最后输入shtml,又一次出来了源代码。那么确定此页面属于.shtml页面。 用IE浏览器打开,正常,无奈了,初步认为是firefox浏览器设定问题,查找各种设定,没有找到与此相关的。无奈,开始在网上搜索相关解决办法,无果。那么只能熟悉shtml的工作原理。 查找shtml文档,发现shtml要想被apache服务器执行,必须对apache相应做配置上的修改,针对我的ubuntu本地机。有三条内容需要修改。 1. AddType text/html .shtml。作用:规定apache把.shtml文件传输给客户端的时候用html的方式显示。 2.AddOutPutFilter INCLUDES .shtml 作用:提示服务器遇到.shtml文件把内容交给mod_include处理。 3. Options Indexes FollowSymLinks MultiViews +Includes 作用:要求Apache在htdocs子目录里执行 server-side includes 程序,也就是mod_includes模块的加载。 但是至此还是不知道问题出在哪里?随后用wget –save-headers http://photo.17ok.com/index.shtml,看到得到的文件头信息中有一行:content-type:text/plain。那么问题就出在这里,这里应该为/text/html才是正确的。那么应该是17ok的服务器配置上把AddType那一行写错了。 随后在自己的机器上把text/html改为text/plain。问题和17ok上的一样。 ssi总结:1.apache配置上应该需要加载mod_includes模块。 2.可以让html页面也调用ssi模块,那么加一行 AddOutPutFilter INCLUDES .htm,但是也许会影响效率,配置的时候自己考虑平衡点。 3.ssi有自己的很多语法规则,能调用到系统变量,得到很多文件信息,总之还是有不少功能,自己以前只知道include功能,真是汗~~~ |
====================================================================
在tomcat开发:在web.xml中去掉注释
<!--
<mime-mapping>
<extension>shtml</extension>
<mime-type>text/x-server-parsed-html</mime-type>
</mime-mapping>
-->
<mime-mapping>
<extension>shtml</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
标签:shtml,firefox,text,html,apache,源代码,页面
From: https://blog.51cto.com/u_16255870/7552870