Esiste un modo per reindirizzare un dominio a un altro tramite le impostazioni DNS mantenendo le informazioni sul percorso?


26

Ad esempio, il mio dominio è example.come quando qualcuno naviga verso example.com/sample/page.htm, lo voglio reindirizzare a test.com/sample/page.htm.

So che probabilmente questo può essere fatto facilmente usando un .htaccessfile o una pagina 404. Tuttavia, sto cercando una soluzione che non richieda che il mio provider DNS ospiti alcun file per me.

Voglio farlo solo con le impostazioni DNS, ad esempio:

  • Record CNAME
  • A records
  • 301 inoltro
  • (qualsiasi altra impostazione DNS mi manca)

C'è un modo per fare questo?


Penso che ciò che volevi fosse più una configurazione con caratteri jolly, ma non credo che possa essere implementato a questo punto senza reindirizzamenti.
Tim Post

qualcuno può dare una risposta chiara e semplice a riguardo .... :(

@fatty, cosa non capisci?
John Conde

Risposte:


12

Puoi fare in modo che example.com/test.com si risolva nello stesso server web (IP) tramite dns (CNAME se preferisci) e funzionerebbe.

Se stai cercando di farlo su una base per percorso di no. Il DNS ignora cose come l'URL. DNS sta semplicemente traducendo la parte host dell'URL (esempio.com) in un indirizzo IP. Il web server ha il compito di capire cosa (o dove) dovrebbe risolvere l'URL. Credo che dovresti farlo a livello di server web (http).


1
Sì, se hai impostato CNAME su example.com, non devi ospitare nulla per example.com. Basta impostare l'host test.com per rispondere per example.com, quindi utilizzare mod_rewrite o riscrittura URL su test.com per rilevare il nome host di example.com e riscriverlo su se stesso. Questo può essere pericoloso però; meglio avere example.com avere il proprio vhost sul server test.com, con solo le regole di reindirizzamento al suo interno.
JasonBirch,

8

Come è stato notato, questo non può essere fatto interamente con DNS. Tuttavia, se disponi del DNS per example.com, fai riferimento allo stesso server di test.com, è molto semplice configurare Apache per realizzare ciò che desideri fare. Aggiungi solo quanto segue:

<VirtualHost *:80>
  ServerName example.com
  Redirect permanent / http://test.com/
</VirtualHost>

Ciò riscriverà qualsiasi collegamento in entrata a example.com in un collegamento per test.com, preservando il percorso.

Inoltre, il tuo provider DNS non ha bisogno di ospitare alcun file per te in quanto si basa solo sul server web che stai già eseguendo per test.com.


Oppure aggiungi le direttive ServerAlias ​​al file host virtuale di test.com.
Michael Clerx,

3

Non puoi farlo solo tramite DNS. 301 reindirizzamenti non sono una cosa DNS. Sono una cosa del server web.

Quello che puoi fare è puntare le voci DNS di example.com sullo stesso server di test.com e impostare example.com come dominio alias su test.com.


3

Ecco la .htaccessregola esatta che utilizzo per reindirizzare tutte le richieste da www.mydomain.com a mydomain.com (poiché il più breve è il mio URL canonico):

RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com/$1 [R=301,L]

È abbastanza facile da modificare per reindirizzare da foo.coma foobar.com, pur preservando la richiesta, il client ottiene solo un reindirizzamento 301 al dominio appropriato.

Tuttavia, non è possibile farlo "solo" con DNS, come altri hanno già detto, i server DNS risolvono gli FQDN in indirizzi IP.


L'ho usato, ma ho dovuto rimuovere l'ultima barra nella seconda riga ( RewriteRule ^(.*)$ http://mydomain.com$1 [R=301,L]) o aggiungerei due barre all'URL reindirizzato. Qualcun altro l'ha sperimentato?
julien_c,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.