
Angenommen, ich habe exampleA.com und exampleB.com. Wenn ich auf einem Apache-Webserver eine Umschreibung von websiteA.com zu websiteB.com durchführen möchte, d. h. wenn ich exampleA.com in einen Browser eingebe, wird die URL beibehalten und mir der geladene Inhalt angezeigt, als ob ich zu exampleB.com navigieren würde. Wie mache ich das als direkte virtuelle Host-Ergänzung?
Meine Recherchen legen etwa Folgendes nahe:
RewriteRule /some/url(.*) http://exampleB.com/some/url$1 [P,L]
Was ich jedoch nicht weiß, ist die Relevanz des Teils „/some/url“, da ich nicht nur bestimmte URIs, sondern die gesamte Domäne umschreiben möchte.
Wenn ich beispielsweise zu exampleA.com/test.htm navigiere, sollte das gerendert werden, was sich unter exampleB.com/test befindet, wobei der Browser die ganze Zeit „exampleA.com/test“ anzeigt.
Antwort1
Damit diese Regel auf die gesamte Domäne angewendet wird, benötigen Sie Folgendes:
RewriteRule /(.*) http://exampleB.com/$1 [P,L]
Was im Grunde dasselbe ist wie:
ProxyPass / http://exampleB.com/
Bedenken Sie, dass es viele Dinge gibt, die den Browser des Benutzers auf die exampleB
Domäne verweisen könnten. würde Umleitungen ProxyPassReverse
handhaben :30x
ProxyPassReverse / http://exampleB.com/
Aber alles andere im Inhalt könnte auf verweisen exampleB.com
, einschließlich HTML-Inhalt (der mod_proxy_html
hilfreich sein könnte), JavaScript, CSS usw.
Antwort2
Sie können nicht.
Wenn Sie die ursprüngliche URL beibehalten möchten, müssen Sie tatsächlich einen Proxy von Beispielb über Beispiela verwenden (siehe ProxyPass) oder eine Art Frame-Spielereien anwenden.