我在网上找到了一些信息,但对我来说毫无意义。我想知道我应该进入哪些文件,以及我应该在哪里修改它们以及如何修改它们。
答案1
必须启用此功能(或您的操作系统的等效功能):
LoadModule include_module libexec/apache22/mod_include.so
并为标准方法添加了这些:
AddType text/html .shtml
AddHandler server-parsed .shtml
#This one goes in the <Directory> directive you want them enabled for (ie "/")
Options +Includes
或者 --x 位 hack:
XBitHack on
最后一个允许您保留正常的 html 名称,但chmod o+x file.html
仅为该文件启用 SSI。
其他人都指向旧版文档:Apache mod_include 文档
答案2
当有
SSILastModified on
XBitHack full
设置“SSILastModified On”是一个无声的错误配置,因为无论“SSILastModified”是否打开,它都不会改变任何程序行为。
通过追溯Apache的源代码,我们可以看到这种错误配置的根本原因是“Xbithack Full”启用的语义隐式覆盖了“SSILastModified On”启用的语义。
if (conf->lastmodified > 0) {
... {
ap_update_mtime(r, r->finfo.mtime);
ap_set_last_modified(r);}}
else if (((conf->xbithack == XBITHACK_FULL ||
(conf->xbithack == XBITHACK_UNSET &&
DEFAULT_XBITHACK == XBITHACK_FULL))
...)) {
ap_update_mtime(r, r->finfo.mtime);
ap_set_last_modified(r);
}
同样的,如果“Xbithack full”也会覆盖“Xbithack on”。这里,一个可能的解决方案是检查配置文件中是否有“SSILastModified on”或“Xbithack on”。如果是,请将其更改为“Xbithack Full”。
答案3
- 使用 mod_include 模块构建您的服务器。这通常是默认编译的。
- 确保您的服务器配置文件具有允许包含的选项指令。
- 确保“服务器解析”内容处理程序明确地或在某些原始位置覆盖了您希望 SSI 文档所在的目录。可以使用以下 AddHandler 指令来完成此操作:
AddHandler 服务器解析的 .shtml
这表示应解析该位置(或其子代)中所有以“.shtml”结尾的文件。请注意,使用“.html”将导致解析所有普通 HTML 文件,这可能会给您的服务器带来过大的负载。
取自: http://httpd.apache.org/docs/1.3/misc/FAQ.html#ssi-part-i
答案4
http://httpd.apache.org/docs/1.3/misc/FAQ.html#ssi-part-i
有关详细信息,请参阅For more information, seehttp://www.apacheweek.com/features/ssi
请记住,如果您的主机决定禁用 SSI,则没有其他办法。