2010-12-02 39 views
2

我想創建一個包裝器/處理程序,將在Apache服務器上調用,每當有人請求任何PHP腳本內的目錄。這樣我可以授權用戶訪問整個目錄,或者在調用目錄時編寫一些其他的東西來調用。500內部服務器錯誤在Apache/PHP的AddHandler包裝

這是最好的配置我已經能夠拿出...

<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> 

[週三12月1 12時28分06秒2010] [錯誤] [客戶xxx.xxx .xxx.xxx]請求 超出了內部 重定向的限制,因爲可能的 配置錯誤。如果需要,使用 'LimitInternalRecursion'增加 的限制。使用'LogLevel 調試'來獲得回溯。

注:我沒有看到任何LogLevel調試。

這是我的處理程序(到目前爲止)......只是做了現在的「回聲」或「芯片」 ......

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

另外,請注意,這是一個虛擬主機裏指令,但這並不重要。我還嘗試了第三個參數「虛擬」選項的「行動」指令和同樣的事情。

有誰知道它爲什麼會這樣做?

+0

@ user471231 - 您是否應用了重寫或重定向? – ajreal 2010-12-02 19:57:35

回答

2

在一個猜測 - 因爲auth_handler腳本auth_handler.php住在你想要處理的文件夾內,你會得到一個無限循環。也就是說,它接收到php請求,將其指向auth_hanlder,它會嘗試調用auth_handler.php,然後再次加載處理程序,等等。將auth_hanlder.php移出該文件夾,看看是否解決了問題。

+0

好的,顯然這是問題所在。我不敢相信我是那麼愚蠢。 – user471231 2010-12-02 22:51:04