这不起作用:
ErrorDocument 401 ../../src/wrong_pwd.php
它将路径呈现为文本,它确实打印
../../src/wrong_pwd.php
并且不输出真实文件。
如果我输入绝对路径,它将呈现的内容/var/www/home
(我真的不知道为什么,也许它是 httpd.conf 中的东西?)
我怎样才能做到这一点?
这不起作用:
ErrorDocument 401 ../../src/wrong_pwd.php
它将路径呈现为文本,它确实打印
../../src/wrong_pwd.php
并且不输出真实文件。
如果我输入绝对路径,它将呈现的内容/var/www/home
(我真的不知道为什么,也许它是 httpd.conf 中的东西?)
我怎样才能做到这一点?
文档说:
../../src/wrong_pwd.php
不以斜杠开头,所以我希望 Apache 将其视为消息。看起来您无法返回超出范围的文档,DocumentRoot
因此我怀疑您想要的东西永远不会起作用(这是明智的;毕竟,客户端必须能够在发生错误时检索文档)。您可能可以使用
Alias
将错误页面别名到文档根目录之外的位置。就像是:Directory
未经测试、YMMV 等。您可能需要使用 < > 块显式授予对该目录的访问权限;请参阅mod_alias文档。当然,这里存在安全问题——通常你不想将你的源代码暴露给世界。(如果是这种情况,也许您可以制作一个轻量级、网络可见的 PHP 包装器,它include()s
.../path/to/src/wrong_pwd.php
)您是否尝试过符号链接?