Stephan: Apache - mod_rewrite

Beitrag lesen

Hallo Christian!

Danke schon mal für den Tipp, nur funktioniert das bei mir nocht nicht so ganz. Liegt allerdings eher bei mir... ;-)

Also nochmal:
Ich muss alle Anfragen an einen bestimmten (internen) Webserver (test1.nds.com) abfangen und über die Proxy Funktion an den eigentlichen Webserver (test.nds.com) weiterleiten. Es soll dabei immer nur die eine bestimmte URL (http://test.nds.com/xxx/framework.servlet?mandant=xxx&ENV_client=false) an den internen Webserver (test1.nds.com) weitergeleitet werden, egal was der Nutzer jetzt als URL an den Server übermittelt.

Hier ein Auszug aus meiner httpd.conf:

<VirtualHost test.nds.com:80>
 ProxyPassReverse / http://test1.nds.com:80/
 ServerName test.nds.com

RewriteEngine ON
 RewriteLog logs/rewrite.log
 RewriteLogLevel 2

[...]

# Always replace with defined URL
   RewriteCond %{REQUEST_URI} !^http://test.nds.com/xxx/framework.servlet?mandant=xxx&ENV_client=false$
   RewriteRule . http://test.nds.com/xxx/framework.servlet?mandant=xxx&ENV_client=false [L,R=302]

[...]

# Now send everything through to proxy
 RewriteRule ^/(.+)$ http://test1.nds.com:80/$1 [P]
</VirtualHost>

Was mach ich da noch falsch? Danke.

Gruß,
Stephan

Hallo Stephan,

Sprich: Gibt der Nutzer ein
"http://mein.server/xxx/test.servlet?yyy=zz2&ENV_sss=false" anstatt
"http://mein.server/xxx/test.servlet?yyy=zzz&ENV_sss=false" soll er
trotzdem auf letztern Link verwiesen werden.

RewriteEngine On
RewriteCond %{REQUEST_URI} !^http://mein.server/xxx/test.servlet?yyy=zzz&ENV_sss=false$
RewriteRule . http://mein.server/xxx/test.servlet?yyy=zzz&ENV_sss=false [L,R=302]

Grüße,
 CK