【问题标题】:500 Internal Server Error on Apache/PHP AddHandler wrapperApache/PHP AddHandler 包装器上的 500 内部服务器错误
【发布时间】:2011-05-19 08:39:44
【问题描述】:

我正在尝试创建一个包装器/处理程序,只要有人在目录中请求任何 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>

[2010 年 12 月 1 日星期三 12:28:06] [错误] [客户端 xxx.xxx.xxx.xxx] 请求 超过了 10 个内部的限制 由于可能的重定向 配置错误。采用 'LimitInternalRecursion' 增加 必要时限制。使用'LogLevel debug' 以获取回溯。

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

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

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

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

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

【问题讨论】:

  • @user471231 - 你应用了重写还是重定向?

标签: php apache addhandler


【解决方案1】:

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

【讨论】:

  • 好的,显然这就是问题所在。我不敢相信我是那么愚蠢。
猜你喜欢
  • 2011-10-04
  • 1970-01-01
  • 2016-10-28
  • 2015-09-26
  • 2015-02-12
  • 2015-11-22
  • 2018-11-14
  • 2012-10-12
  • 1970-01-01
相关资源
最近更新 更多