2013-11-14 5 views
6

Ho creato un nuovo sito Web per un client che ha una rete intranet integrata nel loro vecchio sito Web.reindirizza a server diverso in base al percorso URL

Il nuovo sito Web è attualmente su un server diverso, ma quando il dominio A registra il nuovo server, il sito precedente (e la rete Intranet) ovviamente non sarà accessibile, ma è necessario mantenere attiva la loro intranet. Il percorso della loro intranet è: abc.com/intranet

C'è un modo per avere il percorso URL diretto al vecchio server? Per esempio:

abc.com - new website loads on new server 

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

Se non è possibile, suppongo che sto cercando di creare un sotto-dominio sulla abc.com per la rete Intranet. Ogni pensiero è apprezzato.

+0

Ho aggiunto una risposta, ma non sono al 100% chiaro sulla rilettura della domanda esattamente quale sia l'obiettivo. Sicuramente non hai bisogno di un sottodominio.Puoi chiaramente differenziare e spiegare più sinteticamente la tua domanda? – JakeGould

risposta

1

È necessario utilizzare un Apache RewriteRule utilizzando mod_rewrite. Può essere inserito in un file .htaccess nella root del server o può essere inserito direttamente nel file di configurazione di Apache.

Se si desidera reindirizzare example.com a example.com/intranet, allora questo è l'Apache RewriteRule che dovrebbe funzionare per le vostre esigenze:

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

Ciò afferrare qualsiasi URL sul sito questo RewriteRule è posizionato sulla & reindirizzarli a /intranet. Ciò /intranet può anche essere un URL completo, come nell'esempio qui sotto:

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

EDIT: Su rileggendo la tua domanda, io non sono al 100% sicuro che la risposta di cui sopra funziona per voi così com'è. Quindi penso che se stai descrivendo come indirizzare un percorso URL da un server a un altro, lo faresti. Questo viene collocato sul nuovo server:

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

che avrebbe afferrare qualsiasi URL proveniente da new_example.com/intranet e destinarli a old_example.com/intranet.

UN ALTRO MODIFICO: Poiché il poster originale indica che il server avrà l'IP completamente modificato, un sottodominio per il server precedente è il modo migliore per procedere. Non è possibile reindirizzare il contenuto su un dominio come descritto se si cambiano completamente i domini su IP diversi. Entrambi i server devono essere attivi con un nome di dominio attivo ma diverso per ciò che si desidera che accada.

+0

Grazie per l'input. Per chiarire un po 'di più. Ogni server ha il proprio IP pubblico. Su abc.com, l'IP pubblico per il record A punta al vecchio server. Tuttavia, quando voglio andare a vivere con il nuovo sito, cambierò il record A per abc.com sul nuovo IP/server. Ciò significa che nessuno sarà in grado di accedere all'intranet del server precedente andando su abc.com/intranet. Sto cercando di trovare un modo per effettuare un reindirizzamento sul nuovo server in modo che se qualcuno vuole accedere alla intranet, vengono quindi indirizzati al vecchio server. Non riesco a vedere c'è un modo, ma forse sai un trucco. – user2992605

+0

Ok, se questo è il caso, allora un sottodominio per il vecchio server è il modo migliore per andare. Non è possibile reindirizzare il contenuto su un dominio come descritto se si cambiano completamente i domini su IP diversi. Entrambi i server devono essere attivi con un nome di dominio attivo ma diverso per ciò che si desidera che accada. – JakeGould

+0

Il sottodominio è il percorso che andrò. Grazie. – user2992605

1

abc.com/intranet è un percorso nel file system virtuale esposto dal server Web, pertanto non è possibile pubblicare il contenuto da un server Web diverso. Hai 2 opzioni qui.

  1. Inserire un proxy inverso di fronte a entrambi i server e ottenere il contenuto dal server A o B in base alla richiesta del client originale.

  2. Come hai detto, creare un sottodominio e anche il reindirizzamento/intranet al nuovo sottodominio.

Spero che questo aiuto!