2

跟进我的(一个)问题(!),在这里。正如那里的帖子中所说,希望在评论中有所澄清;我无法virtual SSI #include查看我网站的根目录上方。绝对路径只是从根目录看,从相对路径开始../我进入Invalid URI in request日志。所以我认为这是不可能的,但部分原因是我的服务器设置可能只是在某个地方丢失了一些东西。我是否应该寻求另一种包含(PHP?)的方式,我不希望,但我必须让这个工作。我敢肯定那里一定有一些关于此的信息,但是对于我所有的搜索,我发现没有任何帮助。也许我的谷歌技能没有达到标准。

哦,服务器是 Apache 2。

谢谢。

4

1 回答 1

1

SSIvirtual指令基于 URL,而不是文件,如您在Apache 教程:服务器端包含简介(重点是我的)中所见:

virtual属性可能更有用,并且应该指定一个相对于所服务文档的 URL。它可以以 / 开头,但必须与所服务的文件位于同一服务器上

如果您进一步研究SSI 包含元素参考文档,您会发现它明确说明:

virtual
该值是一个(% 编码的)URL 路径。URL 不能包含方案或主机名,只能包含路径和可选的查询字符串。如果它不以斜杠 (/) 开头,则它被认为是相对于当前文档的。

file命令不能包含 ../ 因此,如果您正在考虑遵循这条替代道路,请不要。

file
该值是相对于包含正在解析的当前文档的目录的路径。它不能包含../,也不能是绝对路径。因此,您不能包含文档根目录之外或目录结构中当前文档之上的文件。应始终优先使用虚拟属性而不是该属性。

希望有帮助。

于 2011-01-07T07:09:17.083 回答