在ErrorDocument中将原始数据发布为空

时间:2012-11-18 16:24:24

标签: php apache post

我正在尝试使用ErrorDocument指令在Apache 2.4.2和PHP 5.4.5(作为模块加载)中开发虚拟路径的处理程序:

<Directory "...">
    ...
    ErrorDocument 404 /handler.php
    ...
</Directory>

只要使用的方法是GET或HEAD,它就像魅力一样。当方法是POST时,会出现麻烦。

使用POST时,在我的测试PC中,我设法通过file_get_contents('php://input')获取输入流,即使Content-Type标头设置为multipart/form-data。在服务器PC中,即使类型为application/x-www-form-urlencoded,内容始终为空。

我正在尝试获取原始POST数据,因为当脚本是此类重定向的结果时,$_POST$_FILES为空。

有什么我想念的吗?也许在httpd.conf文件中有一些不同的设置? php.ini文件是一样的。我只是不知道从哪里开始。

更新:似乎差异是由于我用于测试目的的action元素的<form>属性。看起来,当action设置为.php文件并且位于根目录中时,脚本能够获取原始POST数据。

我想这与httpd.conf文件中使用的AddHandler指令有关。

0 个答案:

没有答案