mod_rewrite - Weiterleitung auf externen Server ohne Proxy

TomHege

Grünschnabel
Hallo Zusammen,

ich benutze für einen Internetauftritt zwei unterschiedliche Server. Auf dem einen Server, der über eine Subdomain (example.example-cms.com) angesteuert wird, liegt das CMS und auf dem anderen Server, der über die eigentlich Domain (example.com) aufgerufen wird, liegen die Datenbanken und größere Dateien.

Es soll nun so sein, dass man über http://example.com/home.html die URl http://example.example-cms.com/index.php?id=home aufruft. Dies funktioniert soweit auch mit folgendem Code schon sehr gut
Code:
RewriteRule ^([0-9a-z_+).html$ http://example.example-cms.de/index.php?id=$1 [NC]

Leider bleibt hierbei allerdings nicht http://example.com/home.html in der Adresszeile stehen. Ich habe bereits mit der Option [P] das Problem probiert zu umgehen, allerdings werden dann die CSS-Dateien nicht mit geladen, da er probiert diese intern zu finden.

Ich bin nun also auf der Suche nach einer Möglichkeit, wie ich die externe Seite aufrufen kann, ohne dass sich die Adresszeile ändert.

Ich hoffe, dass jemand von Euch eine Idee hat.

Beste Grüße

Tom
 
du könntest für die CSS-Files ebenfalls eine Rule erstellen, welche auf den anderen Server umleitet, eine andere Möglichkeit sehe ich da per mod_rewrite nicht.
 
Vielen Dank für die schnelle Antwort. Das habe ich befürchtet, weil ich nirgendwo etwas Gegenteiliges gefunden habe.

Was muss ich denn für eine RewriteRule angeben, damit folgende CSS-Datei vom Server mit dem CMS geladen wird
HTML:
<link rel="stylesheet" type="text/css" href="includes/css/stylesheet.css" />

Was gäbe es denn noch für andere Möglichkeiten, also jetzt mal von einem Frame abgesehen?
 
Zuletzt bearbeitet:
Das Proxy-Flag nicht vergessen:
Code:
RewriteRule .+\.css$ http://example.example-cms.de/$0 [L,P]
 
Danke, funktioniert ebenfalls wunderbar.
Leider ist die Ladezeit dadurch merklich gestiegen.

Gibt es irgend eine andere Variante, bei der die Seite vom Clienten selber geladen wird?
 
Der Umweg über den Proxy ist hier der Flaschenhals. Wieso packst du nicht einfach alles auf nur einen Server?
 
Das Problem ist, dass die eigentlich Seite, also das CMS mit dem Design, vom Bundesverband verwaltet wird. Wenn Änderungen am Design vorgenommen werden, dann machen die das bei allen Unterverbänden. Auf dem Server, auf den auch die eigentliche Domain zeigt, befindet sich z.B. das Newslettersystem, weil es beim Bundesverband keinen Webspace, Datenbanken, etc. gibt. Das Design darf außerdem nur in Verbindung mit dem CMS genutzt werden.
Bisher war das ganze mit einem Frame gelöst, aber dann stand in der Adresszeile eben immer http://example.com und das ist auf Dauer nicht die beste Lösung. Ich werde es jetzt wahrscheinlich so machen, dass weiterhin ein Frame genutzt wird, allerdings aus der .htaccess immer auf dieses Frame verwiesen wird, sodass sich die Adresszeile ändert.

Werde damit das Thema als gelöst markieren. Nochmals vielen Dank! :)
 
Zurück