web-dev-qa-db-fra.com

Est-il possible de rediriger un domaine vers un autre via les paramètres DNS en conservant les informations de chemin?

Par exemple, mon domaine est example.com et lorsque quelqu'un accède à example.com/sample/page.htm, je souhaite le rediriger vers test.com/sample/page.htm.

Je sais que cela peut probablement être facilement fait en utilisant un fichier .htaccess ou une page 404. Cependant, je recherche une solution qui ne nécessite pas que mon fournisseur DNS héberge des fichiers pour moi.

Je souhaite le faire avec les paramètres DNS uniquement, par exemple:

  • Enregistrements CNAME
  • Un disque
  • 301 expédition
  • (il manque tout autre paramètre DNS)

Y a-t-il un moyen de faire ça?

26
Senseful

Vous pouvez résoudre exemple.com/test.com sur le même serveur Web (IP) via DNS (CNAME si vous le souhaitez) et cela fonctionnerait.

Si vous cherchez à le faire par chemin, non. Le DNS ignore des choses comme les URL. DNS est simplement en train de traduire la partie hôte de l'URL (example.com) en adresse IP. Le serveur Web est chargé de déterminer quelle (ou où) l'URL est censée résoudre. Je pense que vous devez le faire au niveau du serveur Web (http).

12
Thomas

Comme il a été noté, cela ne peut pas être fait entièrement avec DNS. Cependant, si vous avez le DNS par exemple.com, vous vous référez au même serveur que test.com, il est très simple de configurer Apache pour accomplir ce que vous souhaitez faire. Ajoutez simplement ce qui suit:

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

Cela réécrira tout lien entrant vers example.com en lien pour test.com, en préservant le chemin.

De plus, votre fournisseur DNS n'a pas besoin d'héberger des fichiers, car cela ne dépend que du serveur Web que vous utilisez déjà pour test.com.

8
Kris

Vous ne pouvez pas faire cela via le seul DNS. Les redirections 301 ne sont pas une chose de DNS. Ils sont une chose serveur Web.

Ce que vous pouvez faire est de pointer vos entrées DNS example.com sur le même serveur que test.com et de configurer exemple.com en tant que domaine alias pour test.com.

3
intlect

Voici la règle exacte .htaccess que j'utilise pour rediriger toutes les demandes de www.mondomaine.com vers mydomain.com (étant donné que l'URL canonique est la plus courte):

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

C'est assez facile à modifier pour modifier la redirection de foo.com vers foobar.com, tout en préservant la requête, le client reçoit simplement une redirection 301 vers le domaine approprié.

Cependant, vous ne pouvez pas faire cela "juste" avec DNS, comme d'autres l'ont déjà dit, les serveurs DNS résolvent simplement les noms de domaine complets en adresses IP.

3
Tim Post