修改apache中POST参数的名称

我想使用apache将POST参数的名称从“SURNAME”更改为“LASTNAME”。

原因是我们有传统的客户端在传统的服务器上发布信息。 既不能修改,这就是为什么我想在Apache中进行翻译。 我用mod_rewrite来翻译一些查询string值,但是post超出了mod_rewrite的范围。

那么,有没有人知道如何操纵post参数的名字?

是的,这是一个糟糕的情况。 mod_rewrite并不能帮助你处理POST数据,mod_filter和mod_ext_filter只能处理输出,而mod_reflector则会立即返回被修改的请求。

所以,除非你想编写一个Apache模块(mod_filter_request.so,或其他),否则你将不得不在客户端请求到达服务器之前破坏客户端请求,更糟糕的是,它需要在运输层面看不见(这提醒了我,你没有提到这是否通过SSL – 如果是的话,你的mangler现在将负责所有的SSL,因为你必须“看看里面”来改变variables)。

所以,粗略地说(具体将取决于你目前的设置):

第1步:build立一个面向公众的非常简单的网站,只是将所有请求传递给一个脚本

(编辑:我有什么将不会工作,因为它会失去POSTvariables;只是映射一切到这一个脚本作为处理程序…)

第2步:写pass.pl(或其他)。 它应该a)接受请求b)存储所有variablesc)向遗留服务器产生新的请求d)接收响应e)将该响应发送回原始客户端

(有太多的设置假设,我甚至不会去尝试一个代码示例。)

直言,这可能是不值得的,你可能会更好的更改variables名称在任何系统的传统服务器写入(是否有钩子,你可以访问)?