2

我正在尝试创建一个包装器/处理程序,只要有人在目录中请求任何 PHP 脚本,就会在 Apache 服务器上调用它。这样我就可以为整个目录授权用户,或者在调用目录时编写一些其他要调用的东西。

这是我能想到的最好的配置......

 <Directory "/srv/http/INNOV/PUBLIC_HTML/kb">
  Options -Indexes
  AllowOverride All
  Order allow,deny
  Allow from all
  DirectoryIndex index.php

  AddHandler auth_handler .php
  Action auth_handler /kb/auth_handler.php
 </Directory>

[Wed Dec 01 12:28:06 2010] [error] [client xxx.xxx.xxx.xxx] 由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用“LogLevel debug”获取回溯。

注意:我在 LogLevel 调试中没有看到任何内容。

这是我的处理程序(到目前为止)......现在只是试图做一个“回声”或“死亡”......

<?php
$FILE = $_SERVER['PATH_TRANSLATED'];
//readfile($FILE);
die($FILE);
?>

另外,请注意,这是在 virtualhost 指令中,但这无关紧要。我还尝试了“动作”指令的第三个参数“虚拟”选项和同样的事情。

有人知道它为什么会这样做吗?

4

1 回答 1

2

猜测一下 - 因为 auth_handler 脚本 auth_handler.php 位于您要处理的文件夹中,所以您会遇到无限循环。也就是说,它接收 php 请求,将其定向到 auth_hanlder,后者尝试调用 auth_handler.php,然后再次加载处理程序,等等。将 auth_hanlder.php 移出该文件夹,看看是否能解决问题。

于 2010-12-02T19:57:26.377 回答