为了为CORS(跨域请求)设置适当的测试套件,我需要能够直接从脚本处理HTTP OPTIONS方法。因此,我有一个简单的PHP脚本来检测OPTIONS方法,并通过输出一些特定的标题做出相应的反应。
PHP方面不是问题。如果我使用curl发出GET / POST / HEAD / PUT /等。请求他们都去剧本,它清楚地处理它们。但是,如果我发出OPTIONS请求,它永远不会到达脚本:Apache会立即回复列出它认为适合此资源的一组方法。我可以告诉脚本没有运行(没有记录,没有输出到响应等)。
我一直在进行Apache配置,确保没有适用的.htaccess挡路,我已经调整了一些诸如Limit / LimitExcept指令之类的东西,但我无法让它改变它行为。我也试图从我年轻时就找到一种可以帮助我的技术的信息:NPH(非解析标题)脚本;但显然现在已经消失了(至少,我找不到任何有关它的最新信息)。
所以问题是:我如何调整Apache的配置,以便让我的脚本处理OPTIONS?
答案 0 :(得分:3)
我刚刚测试了自己的PHP(5.3,Apache 2.2),它仍然有效(因为它有一段时间了)。 OPTIONS通过发送,并按照您的预期出现在$ _SERVER数组中
目标应该是将设置恢复为默认设置(应该可以使用),然后使用您需要的其他选项构建您的conf。
否则,如果没有看到.conf文件,我们就会失明 - 所以这里有一些需要寻找的东西。
RequestHeader
或REQUESTHEADER
的重定向或其他条件(搜索和分析)THE_REQUEST
的内容,但之前从未听过。值得一试吗?] Script OPTIONS /cgi-bin/optionshandler
,并且您的PHP处理程序同样被指定为仅处理GET和POST。再次记住,vhosts和目录以及.htaccess可以单独更改,因此请全部检查。这就是我所能想到的。否则,正如我所建议的那样,从头开始(它可以工作)并构建其他所有内容,直到它不起作用。