使用.htaccess中的auto-prepend-file启动和访问会话

时间:2012-08-21 18:52:01

标签: apache .htaccess php

我一直在尝试使用'auto-prepend-file'值来设置要在该目录中的每个页面之前运行的PHP脚本。目前,我正在销毁和创建会话,然后设置会话变量。

但是如果我尝试从页面访问会话变量,那么它们就没有价值。

  1. 是否可以阻止在.htaccess文件中设置此值?
  2. 在调用非php页面时是否会运行前置脚本?

2 个答案:

答案 0 :(得分:1)

  

是否可以阻止在.htaccess文件中设置此值?

disable session cookies可以使用.htaccess文件,但我怀疑这是你案例中的真正问题。你确定该文件实际上已经预先设定了吗?尝试更直接的测试,例如将die('The prepended file was executed.')添加到文件中。

  

在调用非php页面时是否会运行前置脚本?

auto_prepend_file指令仅适用于PHP解析的文件。在大多数服务器配置中,只包含.php文件。但是,您可以使用AddHandler directive使Apache在其他文件类型中执行PHP。

例如,如果使用AddHandler将.html添加为可包含PHP代码的另一种文件类型,则auto_prepend_file也将应用于.html文件。

答案 1 :(得分:0)

最终为我解决的是在我的Apache配置文件上设置“AllowOverride”指令。为了在给定文件夹上允许.htaccess权限,你应该有类似......

的东西
# Allow .htaccess settings
<Directory "/absolute/path/to/htaccessfolder">
    AllowOverride Options
</Directory>

...在httpd.conf上,它允许覆盖所选目录中的选项设置。