为什么试图从另一台服务器包括SSI当阿帕奇得到404?

问题描述 投票:-1回答:2

我有一个产生,我想合并成一个网页数据的两个网站。网站之一(“主”网站)产生大部分的网页,以及站点中的两个包含我想包括在该网页上的其他数据。我想最好的办法是使用SSI从现场两个数据包括成一个网站制作的网页。 Apache的网站上的人似乎联系站点中的两个正常,但站点中的两个回报404。如果我接触部位两个直接用浏览器,使用该网站一个使用完全相同的网址,我得到正确的数据。为什么不Apache的网站上得到一个相同的数据?

我试过两种方法可以包括从站点中的两个数据,一个直接和一个使用反向代理,但既不工程。其他(本地)的SSI和反向代理此页面上正常工作。这是两个包括行:

<!--#include virtual="/servertwodata" -->
<!--#include virtual="http://www.servertwo.com/execs/somescript.sh?task=overview" -->

我在Apache的错误日志中得到的错误是:

unable to include "http://www.servertwo.com/execs/somescript.sh?task=overview" in parsed file /var/www/html/index.html, subrequest returned 404, referer: http://www.serverone.com/index.html

有没有人有一个通用的浏览器中的线索,为什么Apache的网站上人们从现场二送404,但完全相同的网址将获得的数据好?

apache ssi
2个回答
0
投票

the documentation

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

总之:它不支持外部URL。


0
投票

事实证明,反向代理确实丢弃被包括作为ProxyPass伪配置参数的一部分的任何查询字符串。我删除从参数的ProxyPass查询字符串,并将其移动到SSI包括虚拟标签,它不再从站点中的两个得到404。那就是把网页上的回应是经过加密的象形文字,但什么是造成这是一个不同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.