分享、学习、提高
Thank you for reading...
2007/08/07 19:33
Tags: ,
引用

使用XBitHack指令:

XBitHack on

XBitHack告诉Apache解析所有设置了执行位的文件中的SSI指令。这样,无需修改文件名,只要用chmod使文件变成可执行的,就可以对现有页面增加SSI指令。

chmod +x pagename.html

这里简要说明一点:偶然会有人向你推荐,无须用带.shtml的文件名,只要使Apache解析所有.html文件的SSI就可以了。那些人可能没听说过XBitHack 。要知道,这样做会使Apache在发送文件到客户端之前通读此文件,即使其中并没有任何SSI指令,从而对速度有很不利的影响,所以这并不是好办法。

来源:http://www.itlearner.com/code/apache2.2/howto/ssi.html


这种方法应该说是速度最快的。但这种方法,如果生成的文件需要包含,还要多加一句赋予它+x的权限。

相比第一种方法,我认为如果让html解析SSI,包括的文件扩展名为htm(不会去解析SSI),两者速度我觉得是一样快的!

另外,由于网站我有在本机做调试,在Windows上没有执行权限,因此还是选用第一种方法,呵呵。
2007/07/30 09:12
Tags: ,

# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml



官方文档:http://www.itlearner.com/code/apache2.2/howto/ssi.html
Includes
Server-side includes provided by mod_include are permitted.
IncludesNOEXEC
Server-side includes are permitted, but the #exec cmd and #exec cgi are disabled. It is still possible to #include virtual CGI scripts from ScriptAliased directories.


也就是需要两步,
1.在虚拟主机块中加入,或者全局加
AddOutputFilter INCLUDES .htm
AddHandler server-parsed .htm
2.在Directory中的Options加入Includes参数,我觉得使用IncludesNOEXEC可能会更好。
<Directory "F:/hx/">
   Options Indexes FollowSymLinks IncludesNOEXEC
</Directory>

一些错误的解决:
包含的文件出现如下提示:[an error occurred while processing this directive]
原因之一:先检查一下包含的文件路径对不对,文件是否存在。
如果正确,则问题出在包含的语句上。

<!--#include file="文件名称"-->
<!--#include virtual="文件名称"-->
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的top.htm文档,则为file="top.htm"。
virtual 文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hx目录下的top.htm文件;则为virtual="/hx/top.htm"

如果是上一级目录的子目录,就是使用路径../hx/top.htm时,需要使用Virtual,如果使用file,则会产生上面的提示。但在IIS下这样好像不会产生错误。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]