2016-06-30 7 views
1

Ich versuche, einen anderen Host, wenn ein Fehler auftritt. Ich habe dies und arbeitet:Forward Query String mit ErrorDocument in Apache

<VirtualHost *:80> 
    ServerName test.com. 
    ServerAlias test.com 

    ProxyPreserveHost On 
    ProxyPass/http://127.0.0.1:8080/ 
    ProxyPassReverse/http://127.0.0.1:8080/ 

    RewriteEngine on 

    ErrorDocument 503 /503/ 

    RewriteCond %{REQUEST_URI} ^/503/$ 
    RewriteRule ^(.*)$ http://other.host.com/ 

</VirtualHost> 

Nun, wenn ich diese URL haben: http://test.com/path/?param1=val1&param2=val2 und wenn Fehler 503 ocurrs, ich möchte neue URL umleiten: http://other.host.com/path/?param1=val1&param2=val2.

Es ist möglich vorwärts /pfad /? Param1 = val1 & param2 = val2 zu neuen host?

Ich habe gesehen this und this, aber es ist nicht genau mein Problem.

PS: Ich bin eine Java-Anwendung ausgeführt wird, nicht eine PHP-Anwendung

Antwort

4

Seit Apache 2.4.13, kann auch Errordocument Ausdruck verwenden, so:

ErrorDocument 503 http://other.host.com/%{REQUEST_URI}?%{QUERY_STRING} 
ProxyErrorOverride on 
+0

ich denke, das +1 funktionieren soll – starkeen

+0

Danke @julp, das funktioniert! Ich habe 'ProxyErrorOverride on 'nicht hinzugefügt und auch gearbeitet. Ich habe ** den Apache auf 2.4.20 ** aufgerüstet. Vielen Dank. – Alberto