2013-11-14 4 views
6

ich eine neue Website für einen Kunden gemacht haben, die ein Intranet in ihre alten Website integriert hat.zu anderen Server umleiten basierend auf URL-Pfad

Die neue Website befindet sich derzeit auf einem anderen Server, aber wenn die Einträge der Domäne A auf den neuen Server zeigen, ist die alte Site (und das Intranet) natürlich nicht erreichbar, aber ich muss ihr Intranet aktiv halten. Der Weg zu ihrem Intranet ist: abc.com/intranet

Gibt es eine Möglichkeit URL-Weg, direkt an den alten Server hat? Zum Beispiel:

abc.com - new website loads on new server 

abc.com/intranet - old website loads on older server 

Wenn es nicht möglich ist, ich glaube, ich bin auf der Suche eine Sub-Domain auf abc.com für das Intranet zu schaffen. Irgendwelche Gedanken werden geschätzt.

+0

Ich habe eine Antwort hinzugefügt, aber ich bin nicht 100% klar, wenn ich Ihre Frage erneut genau durchführe, was das Ziel ist. Sie brauchen definitiv keine Subdomain.Kannst du deine Frage klar unterscheiden und prägnanter erklären? – JakeGould

Antwort

1

Sie benötigen einen Apache RewriteRule mit mod_rewrite zu verwenden. Dies kann in einer .htaccess Datei auf Ihrem Server Root platziert werden oder es kann direkt in der Apache-Konfigurationsdatei platziert werden.

Wenn Sie example.com zu example.com/intranet umleiten möchten, dann ist dies der Apache RewriteRule, die für Ihre Bedürfnisse funktionieren sollte:

RewriteEngine on 
RewriteRule ^(.*)$ /intranet [L,R=301] 

Dies wird jede URL auf der Website greifen diese RewriteRule auf & platziert umleiten sie /intranet. Die /intranet kann auch eine vollständige URL wie dieses Beispiel unten sein:

RewriteEngine on 
RewriteRule ^(.*)$ http://example.com/intranet [L,R=301] 

EDIT: Bei Ihrer Frage rereading, ich bin die Antwort oben genannten Arbeiten für Sie nicht 100% sicher, wie sie ist. Ich denke also, wenn Sie beschreiben, wie man von einem Server zum anderen ein URL-Pfad zu zeigen, würden Sie dies tun. Dies wird auf den neuen Server gelegt:

RewriteEngine on 
RewriteRule ^/intranet(.*)$ http://old_example.com/intranet [L,R=301] 

, dass jede URL von new_example.com/intranet kommenden greifen würde und leitet es an old_example.com/intranet.

ANDERE EDIT: Da das Original-Poster angibt, dass der Server die IP vollständig geändert haben wird, ist eine Sub-Domain für den alten Server der beste Weg zu gehen. Sie können etwas nicht auf eine Domäne, die die Art und Weise leiten Sie beschreiben, wenn Sie die Domänen vollständig zu verschiedenen IP wechseln. Beide Server müssen aktiv sein mit einem Active-aber anderen-Domain-Namen für was Sie passieren wollen.

+0

Danke für die Eingabe. Um ein bisschen mehr zu verdeutlichen. Jeder Server hat seine eigene öffentliche IP-Adresse. Auf abc.com zeigt die öffentliche IP für den A-Eintrag auf den älteren Server. Wenn ich jedoch mit der neuen Website live gehen möchte, werde ich den A-Eintrag für abc.com auf den neuen IP/Server ändern. Dies bedeutet, dass niemand auf das Intranet des älteren Servers zugreifen kann, indem er zu abc.com/intranet geht. Ich versuche einen Weg zu finden, eine Umleitung auf dem neuen Server vorzunehmen, so dass, wenn jemand auf das Intranet zugreifen möchte, diese auf den alten Server geleitet werden. Ich kann nicht sehen, dass es einen Weg gibt, aber vielleicht kennst du einen Trick. – user2992605

+0

Okay, wenn das der Fall ist, dann ist eine Subdomain für den alten Server der beste Weg. Sie können Inhalte auf einer Domäne nicht wie beschrieben umleiten, wenn Sie die Domänen vollständig auf eine andere IP-Adresse umstellen. Beide Server müssen aktiv sein mit einem Active-aber anderen-Domain-Namen für was Sie passieren wollen. – JakeGould

+0

Subdomain ist die Route, die ich gehen werde. Vielen Dank. – user2992605

1

abc.com/intranet ist ein Pfad im virtuellen Dateisystem, der von Ihrem Webserver bereitgestellt wird, daher ist es nicht möglich, den Inhalt von einem anderen Webserver aus zu liefern. Sie haben hier 2 Möglichkeiten.

  1. Setzen Sie einen Reverse-Proxy vor beide Server und beziehen Sie den Inhalt von Server A oder B basierend auf der ursprünglichen Client-Anfrage.

  2. Wie Sie gesagt haben, erstellen Sie eine Sub-Domain und auch Redirect/Intranet auf die neue Sub-Domain.

Hoffe diese Hilfe!

Verwandte Themen