我想我发现,当我有一个错误的自定义错误页面时,Incluphes并不总是有效,因为Incluplauss需要一个目录,并且具有错误的页面可能在不同的目录中。

directory1/directory2/thispagecausesa404error.php

directory1/thispagecausesa404error.php

如果我有 include includepage.php; 在我的错误页面中,它将无法正常工作。

我决心添加 include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php'; 到解决问题的错误页面上,但我怀疑我做错了什么或没有看到正确的方法在错误页面上包含完美的方法。

我究竟做错了什么?

有帮助吗?

解决方案

我建议不要依靠 DOCUMENT_ROOT 正确设置。而是通过通过当前脚本的相对路径通过 __DIR__ 魔术常数, ,例如

include __DIR__ . '/relative/path/from/this/script/to/includepage.php';

该路径还可以包含Parent Directory traversal通过 ../ 如果需要,例如

include __DIR__ . '/../../some/dir/includepage.php';
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top