我有一个我希望在每个请求开始时执行的PHP文件。我在我的htaccess文件中指定了他:
php_value auto_prepend_file "alwaysrunthis.php"
问题是,该指令的值是在目标脚本的上下文中执行的,而不是在.htaccess文件位置的上下文中执行的。因此,如果我正在执行的脚本与prepend文件位于同一目录中,则无效。
我意识到我可以使用绝对路径,但这不是很便携。我可以在.htaccess中访问任何变量来在执行时生成绝对路径吗?
答案 0 :(得分:3)
简短回答,不。
多头回答,你可能会让它像你想要的那样工作。
您可以创建自动前置文件以使用$_SERVER['DOCUMENT_ROOT']
var来确定使用switch / if-else构造包含哪个文件。
或者您可以将__FILE__
var与realpath
结合使用,以包含/要求所需的“前置”文件。
自动prepend.php
require_once(realpath(__FILE__) . '/prepend.php');
//编辑:
考虑到它,__FILE__
可能会引用前置文件而不是请求的文件,因此它可能无法正常工作。