Demande POST se converti à OBTENIR lors de la réécriture d'URL est fait dans apache httpd

J'ai un serveur web apache qui fonctionne comme un serveur proxy inverse pour l'application des serveurs. J'ai utilisé la directive ProxyPass et ProxyPassReverse pour atteindre cet objectif. J'ai contexte plusieurs racines de la cartographie à différentes applications.

Je suis en train d'essayer d'enlever la racine de contexte à partir d'un nom de domaine pour un contexte, de sorte que les utilisateurs peuvent accéder directement au site en tant que https://mydomain.com au lieu de https://mydomain.com/contextRoot. J'ai ajouté les règles de réécriture à la place de la directive proxypass et proxypassreverse configurations pour ce contexte.

# redirecting old URL to new URL
RewriteRule ^/contextRoot(.*)$ https://mydomain.com$1 [L,R=301]

# proxying to internal app servers
RewriteCond %{REQUEST_URI} !^(/anotherContextRoot1.*)$
RewriteCond %{REQUEST_URI} !^(/anotherContextRoot2.*)$
RewriteRule .* http://10.1.0.1:8080/contextRoot%{REQUEST_URI} [L,P]

Cette configuration fonctionne bien pour toutes les requêtes http GET. Pour les requêtes POST, la redirection se passe, mais l'appel devient un GET.

Merci de m'aider à comprendre pourquoi cela se produit et comment puis-je corriger cela. Je tiens aussi à comprendre, c'est il y a plus de règle de réécriture de la configuration que j'ai ajouter pour faire ce que la directive proxypassreverse l'habitude de faire dans la configuration précédente.

OriginalL'auteur Ganesh Ramachandran Nair | 2014-11-04