【问题标题】:Apache httpd mod_include - handle include of 400+ responses with blankApache httpd mod_include - 处理包含 400 多个响应的空白
【发布时间】:2014-05-01 19:50:38
【问题描述】:

我想让你使用 Apache 2.2 httpd 到 SSI 包含 URL

<!--#include virtual="/content/foo.html" -->

我的问题是,如果我的应用服务器上不存在包含 SSI 的页面,它会以 404 响应和默认错误页面 HTML 进行响应,然后通过包含将其拼接到我的页面中。 对于失败的 (4xx,5xx) SSI 包含,我只希望 SSI 包含将空字符串添加到我的页面。

它没有出现 Apache 2.2。支持“onerror”指令(我认为可以解决这个问题)——而且我没有看到任何其他选项。

http://httpd.apache.org/docs/2.2/mod/mod_include.html

【问题讨论】:

  • 通过在应用程序级别检测 SSI 请求并在 4xx+ 状态代码时返回空响应来解决问题。

标签: apache http-status-code-404 ssi mod-include


【解决方案1】:

您可能会添加重写来处理应用程序 URI 空间的这些部分,但我建议不要这样做。正在研究的方法似乎无法解决主要问题:SSI 的概念取决于所包含的文件应该始终可用。如果包含的文件返回 4xx 或 5xx 类错误,则您有责任修复这些错误。

【讨论】:

  • httpd 2.4 mod_include 似乎通过引入onerror 属性接受了部分责任;不幸的是,这在 2.2 中不可用。
  • 我仍然不明白您为什么要尝试处理磁盘上不存在的 SSI 文件。它们是否超出了此应用程序的 Web 服务器配置的范围?
猜你喜欢
  • 1970-01-01
  • 2020-10-28
  • 2015-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多