RewriteCond QUERY_STRING или/и ProxyPass?

Трябва да препращам заявки от интернет клиент като този:

https://www.app.com/AppServer?User=guest&ID=8PKX3Q2DT45&Type=laptop&Cmd=exec

към вътрешен сървър с промяна на някои параметри:

https://192.168.0.1/AppServer?User=guest&ID=NEW_ID&Type=NEW_TYPE&Cmd=exec

с уеб сървър Apache. NEW_ID и NEW_TYPE са статични променливи.

Опитах различни неща с ProxyPass и RewriteCond %{QUERY_STRING}, но без успех.

RewriteEngine On

RewriteCond %{QUERY_STRING} .*User=(\w+).*&ID=(\w+).*&Type=(\w+).*&Cmd=(\w+).*$ [NC] RewriteRule . HOST/AppServer?User=$1&ID=NEW_ID&Type=NEW_TYPE&Cmd=Exec [R=301,L]

ProxyPass HOST/AppServer
ProxyPassReverse HOST/AppServer

(URL адресът е заменен с HOST поради ограничение за публикуване)

Освен това трябва да мога да променя заглавката с RequestHeader (това работи правилно).

Бихте ли ми помогнали да изградя конфигурацията?

Най-сърдечни поздрави,


person Frank FREMERT    schedule 05.06.2015    source източник


Отговори (1)


Отговарям на въпроса си, тази работа:

#NEW UA
RequestHeader set User-Agent "NEW_UA"

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)OLD_ID(.*)OLD_DEVICE(.*)$
RewriteRule (.*) HOST/AppServer/?%1NEW_ID%2NEW_DEVICE%3 [P,L]

ProxyPass / HOST/
ProxyPassReverse / HOST

Благодаря,

person Frank FREMERT    schedule 06.06.2015