0

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

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

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

2 回答 2

1

可以防止在 .htaccess 文件中设置此值吗?

可以使用 .htaccess 文件禁用会话 cookie,但我怀疑这是您的情况的真正问题。您确定该文件实际上是预先添加的吗?尝试更直接的测试,例如添加die('The prepended file was executed.')到文件中。

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

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

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

于 2012-08-21T19:22:55.917 回答
0

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

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

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

于 2012-08-22T15:30:32.570 回答