Apache / PHP AddHandler包装器上的500内部服务器错误

时间:2010-12-02 19:52:57

标签: php apache addhandler

我正在尝试创建一个包装器/处理程序,只要有人在目录中请求任何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] [错误]   [client xxx.xxx.xxx.xxx]请求   超过10内部的限制   由于可能的重定向   配置错误。使用   'LimitInternalRecursion'增加   必要时限制。使用'LogLevel   调试'以获得回溯。

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

这是我的经纪人(到目前为止)......现在只是试图做'回声'或'死'......

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

另外,请注意,这是在virtualhost指令中,但这不重要。我还尝试了“Action”指令的第三个参数“virtual”选项和同样的事情。

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

1 个答案:

答案 0 :(得分:2)

猜测 - 因为auth_handler脚本auth_handler.php存在于您尝试处理的文件夹中,您将获得无限循环。也就是说,它收到了php请求,将它指向auth_hanlder,它试图调用auth_handler.php然后再次加载处理程序等。将auth_hanlder.php移出该文件夹,看看是否能解决问题。