首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在不对绝对路径进行硬编码的情况下,如何在.htaccess文件中指定auto_prepend_file?

在不对绝对路径进行硬编码的情况下,如何在.htaccess文件中指定auto_prepend_file?
EN

Stack Overflow用户
提问于 2011-06-16 02:44:33
回答 1查看 5K关注 0票数 3

我有一个PHP文件,我想在每个请求的开头执行。我在htaccess文件中指定了它:

代码语言:javascript
代码运行次数:0
运行
复制
php_value auto_prepend_file "alwaysrunthis.php"

问题是,此指令的值是在目标脚本的上下文中执行的,而不是在.htaccess文件位置的上下文中执行的。因此,如果我正在执行的脚本与前置文件在同一个目录中,那么它就可以工作,否则就不是。

我意识到我可以使用绝对路径,但这并不是很容易移植。在.htaccess中有没有我可以访问的变量来在执行时生成绝对路径?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-16 02:53:33

简而言之,不是。

Long回答说,你可能可以让它像你想要的那样工作。

您可以创建自动预置文件,以使用$_SERVER['DOCUMENT_ROOT']变量通过开关/if-else构造来确定要包括的文件。

或者,您可以将__FILE__变量与realpath结合使用,以包含/要求您想要的“前置”文件。

auto-prepend.php

require_once(realpath(__FILE__) . '/prepend.php');

//编辑:

再想一想,__FILE__可能会引用预端文件,而不是请求的文件,所以它可能不会像预期的那样工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6362691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档