it-swarm-eu.dev

Existuje nějaký způsob, jak přesměrovat jednu doménu na druhou pomocí nastavení DNS a zachovat informace o cestě?

Například moje doména je example.com a když někdo přejde na example.com/sample/page.htm, chci, aby přesměroval na test.com/sample/page.htm.

Vím, že to lze pravděpodobně snadno provést pomocí souboru .htaccess nebo stránky 404. Hledám však řešení, které nevyžaduje, aby můj poskytovatel DNS hostoval všechny soubory pro mě.

Chci to provést pouze s nastavením DNS, např .:

  • Záznamy CNAME
  • Záznamy
  • 301 spedice
  • (všechna další nastavení DNS, která mi chybí)

Existuje nějaký způsob, jak to udělat?

26
Senseful

Mohli byste přejít na server example.com/test.com pomocí stejného webového serveru (IP) prostřednictvím dns (pokud chcete CNAME) a ​​to by fungovalo.

Pokud to chcete udělat na základě cesty, než ne. DNS ignoruje věci jako URL. DNS jednoduše převádí část hostitele adresy URL (example.com) na adresu IP. Webový server odpovídá za to, co (nebo kde) má url vyřešit. Věřím, že byste to museli udělat na úrovni webového serveru (http).

12
Thomas

Jak již bylo uvedeno, toto nelze provést zcela pomocí DNS. Máte-li však server DNS například.com odkazující na stejný server jako test.com, je velmi snadné nakonfigurovat Apache tak, aby splňoval to, co chcete dělat. Stačí přidat následující:

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

Tím přepíšete jakýkoli příchozí odkaz na example.com na odkaz pro test.com, přičemž cesta zůstane zachována.

Váš poskytovatel DNS dále nemusí hostovat žádné soubory, protože to závisí pouze na webovém serveru, který již používáte pro test.com.

8
Kris

To nelze provést pouze pomocí DNS. Přesměrování 301 není věcí DNS. Jsou to věc webového serveru.

Co můžete udělat, je nasměrovat položky DNS serveru example.com na stejný server jako test.com a nastavit doménu example.com jako aliasovou doménu na webu test.com.

3
intlect

Zde je přesné pravidlo .htaccess, které používám k přesměrování všech požadavků z adresy www.mydomain.com na mydomain.com (protože kratší je moje kanonická adresa URL):

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

Je to dost snadné na to, aby se změnilo přesměrování z foo.com na foobar.com, přičemž při zachování požadavku klient dostane přesměrování 301 do příslušné domény.

Nemůžete to však udělat „jen“ s DNS, jak říkali jiní, DNS servery pouze překládají FQDN na IP adresy.

3
Tim Post