重写HTTP动词

我有一个JavaScript Web应用程序调用的REST api。 HTML / CSS和JS文件存储在本地,由Apache提供服务,REST api在远程HTTP服务器上由Apache的ProxyPass指令调用。 这是我实际的httpd.conf文件(开发机器在windows上):

<VirtualHost *:80> ServerName myapp.com DocumentRoot C:\myapp <Directory /> Allow from all </Directory> RewriteLog C:\Temp\rewrite.log RewriteLogLevel 0 RewriteEngine On # Let apache serve static files RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f RewriteRule (.*) $1 [L] ProxyPass / http://192.168.0.23:4567/ retry=0 ProxyPassReverse / http://192.168.0.23:4567/ ProxyPreserveHost on </VirtualHost> 

我的问题是,远程服务器(192.168.0.23)不支持DELETE和PUT请求(如果我尝试这样做,我得到一个方法不允许的错误)。 不幸的是我没有访问该服务器,但我可以开发它暴露的REST API。 我想要做的是

  • 检查传入的请求是DELETE还是PUT
  • 在请求X-ORIGINAL-REQUEST_METHOD:DELETE上设置HTTP头
  • 将请求转发到远程服务器(192.168.0.23)作为POST

这可以通过Apache重写规则或其他模块完成吗?