mod_rewrite + mod_proxy + Querystring übergeben

Alles, was den Apache betrifft, kann hier besprochen werden.

mod_rewrite + mod_proxy + Querystring übergeben

Postby iso2k » 08. March 2007 18:53

Hallo,

ich weiß wirklich nicht wie das funktionieren sollte.
Versuche schon die längste Zeit drauf zu kommen ... aber ich weiß echt nicht wie.
Vielleicht weiß jemand von euch einen Rat hierzu ...

Ich habe mir hier ein Verzeichnis /tools/ eingerichtet das die URLs über den Reverse Proxy umschreiben soll. Ist natürlich kein Problem,
allerdings sollte am Ende der jeweiligen URL das vom externen Server aufgerufen wird (URL z.B. http://tools.domain.de/verzeichnis2/sei ... country=DE) immer ein Querystring namens "Country" angehängt werden.
z.B. ?country=DE damit ich die korrekte Länderversion erhalte.

Meine httpd.conf sieht derzeit so aus ...

----------------------------------------------

ProxyRequests off

ProxyPass /tools-de/ http://tools.domain.de/
ProxyHTMLURLMap http://tools.domain.de /tools-de

<Location /tools-de/>
ProxyPassReverse /
SetOutputFilter proxy-html
ProxyHTMLURLMap / /tools-de/
ProxyHTMLURLMap /tools-de /tools-de
RequestHeader unset Accept-Encoding
</Location>

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

----------------------------------------------

Und anscheinend kann mit mod_rewrite dieses Problem gelöst werden, da mod_proxy das mit dem Querystring nicht unterstützt.

---

RewriteEngine On
RewriteRule ^tools-de(.*) http://tools.domain.de/$1&country=DE [P]

---

Ich hab leider auch keine nützliche Doku diesbezüglich gefunden ... (und ja, leider bin auch Profi auf dem Gebiet).
Vielleicht weiß aber jemand wie man da vorgehen könnte?

Oder bin ich mit dieser Idee komplett falsch dran. Gäbe es was besseres / einfacheres um so etwas mit Apache 2 umzusetzen?


Vielen Dank und schöne Grüsse,
Markus
iso2k
 
Posts: 2
Joined: 08. March 2007 18:18

Postby KingCrunch » 09. March 2007 01:55

Querystring (wurd letztens hier auch ma eben zurecht gewesen :D) wird bei mod_rewrite mit dem Flag QSA ("Query String Append") angehängt. Leider werden sie nicht auf den Regex gematcht
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby iso2k » 09. March 2007 09:41

Vielen Dank für deine Antwort.
Also hab ich in dem Fall Pech, oder? Wie könnte man das sonst noch lösen, das alle Anfragen aus /Verzeichnis-Land/ immer mit zusätzlichem Querystring Land=DE an den Reverse Proxy übergeben werden?

Any Ideas?

Ich kenne leider auch kein Forum das sich speziell mit mod_proxy beschäftigt ... da gibt´s ja auch ein paar Regex-Spielereien ... könnte man sogar Cookies an den Backend Server übergeben (was mir aber auch hier nix bringt), usw. ... aber ich find da einfach nix im Netz.

Gruß,
Markus
iso2k
 
Posts: 2
Joined: 08. March 2007 18:18


Return to Apache

Who is online

Users browsing this forum: No registered users and 20 guests