web-dev-qa-db-fra.com

Comment afficher le sous-domaine personnalisé du client dans la barre d'adresse?

Disons que j'ai un service en ligne pour les webmasters chez example.com. Mon service présente une application Web à utiliser par les visiteurs des sites Web appartenant à mes clients de webmasters. L'application Web se trouve à l'adresse mywidget.example.com. Les clients peuvent créer des liens vers mywidget.example.com afin que leurs visiteurs puissent utiliser l'application Web.

Cependant, certains clients voudront utiliser leur propre sous-domaine personnalisé pour accéder à l'application Web. Ils peuvent donc créer un CNAME tel que widget.clientdomain.tld et le diriger vers mywidget.example.com. Cela fonctionne bien, sauf que les visiteurs voient toujours mywidget.example.com dans la barre d'adresse du navigateur à la place de widget.clientdomain.tld.

Que dois-je faire pour que les sous-domaines personnalisés du client apparaissent dans la barre d'adresse du visiteur au lieu de mywidget.example.com?

1
Bob Arlof

Une fois que vos clients ont pointé les sous-domaines à votre service, vous devez configurer votre serveur Web pour utiliser leur sous-domaine plutôt que le vôtre. Vous pouvez utiliser cette règle de réécriture dans . Htaccess pour vous assurer que seul le sous-domaine du client apparaîtra dans la barre d'adresse. Les autres noms d'hôtes pointés vers le service (y compris votre propre sous-domaine) seront redirigés:

RewriteCond %{HTTP_Host}   !^widget\.clientdomain\.tld [NC]
RewriteCond %{HTTP_Host}   !^$
RewriteRule ^/(.*)         http://wiget.clientdomain.tld/$1 [L,R]
1