我有一个 PHP 文件,我想在每个请求开始时执行。我在我的 htaccess 文件中指定了他:
php_value auto_prepend_file "alwaysrunthis.php"
问题是,该指令的值是在目标脚本的上下文中执行的,而不是在 .htaccess 文件位置的上下文中执行的。因此,如果我正在执行的脚本与前置文件位于同一目录中,它就可以工作,否则不会。
我意识到我可以使用绝对路径,但那不是很便携。我可以在 .htaccess 中访问任何变量以在执行时生成绝对路径吗?
最佳答案
简答,不。
答案很长,您可能可以让它按照您想要的方式工作。
您可以创建自动前置文件以使用 $_SERVER['DOCUMENT_ROOT']
var 来确定使用 switch/if-else 构造包含哪个文件。
或者您可以将 __FILE__
var 与 realpath
结合使用,以包含/要求您想要的“前置”文件。
auto-prepend.php
require_once(realpath(__FILE__) . '/prepend.php');
//编辑:
再考虑一下,__FILE__
可能会引用前置文件而不是请求的文件,因此它可能无法按预期工作。
关于php - 如何在不对绝对路径进行硬编码的情况下在我的 .htaccess 文件中指定 auto_prepend_file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362691/