it-swarm.com.de

Ist es möglich, dass ein CNAME-DNS-Eintrag auf eine URL mit einem Pfad verweist?

Ich habe mehrere Domains für meine Nichten und Neffen registriert. Die Idee war, kleine statische Webseiten für sie zu erstellen, damit sie sagen können, sieh dir meine Website an!.

In Bezug auf das Hosting verwende ich Expressjs auf Heroku, um statische Seiten bereitzustellen.

Ich möchte Folgendes tun:

http://suzy-derkins.space        -->    my-herokuapp.herokuapp.com/static/suzy
http://calvin-is-trouble.space   -->    my-herokuapp.herokuapp.com/static/calvin

Jetzt kann ich einen CNAME-Eintrag verwenden, um auf jede meiner Domains my-herokuapp.herokuapp.com zu verweisen, aber ein CNAME-Eintrag lässt keine vollständige URL zu.

Ich könnte eine entlarvte Weiterleitung hinzufügen, damit

http://suzy-derkins.space leitet zu https://suzy-derkins.space/static/suzy weiter, aber das ist hässlich.

Ich möchte keine maskierte URL-Weiterleitung verwenden - da dies Probleme auf Mobilgeräten verursacht und der Benutzer auf Links drückt, bleibt die neue Seite maskiert.

Ich möchte auch die Möglichkeit behalten, zusätzliche Seiten hinzuzufügen, zum Beispiel:

http://my-herokuapp.herokuapp.com/static/suzy/my-favourite-things wird durch http://suzy-derkins.space/my-favourite-things dargestellt.

Welche Art von Datensätzen verwende ich dazu?

3
dwjohnston

DNS-Einträge allein können nicht das tun, was Sie wollen. DNS-Einträge verweisen Hostnamen nur auf IP-Adressen (oder im Fall von CNAMEs auf andere Hostnamen).

Sie müssen Ihren Server so konfigurieren, dass er ordnungsgemäß funktioniert.

Eine Möglichkeit ist die Ausgabe von Weiterleitungen. Ich nehme an, dass Sie das hässlich finden, weil sich die URL ändert.

Eine andere Möglichkeit besteht darin, für jeden dieser Hostnamen "virtuelle Hosts" mit unterschiedlichen Inhalten einzurichten. Ich habe Heroku noch nie verwendet, aber es scheint, dass Sie mehrere benutzerdefinierte Domänen hinzufügen können: https://devcenter.heroku.com/articles/custom-domains

In einer einzelnen Anwendung mit mehreren darauf angezeigten Hostnamen können Sie normalerweise den Hostnamen erkennen und Ihre Anwendung so programmieren, dass sie entsprechend handelt. Ich konnte in Heroku nicht herausfinden, wie das geht, aber es sollte Teil der HTTP-Anfrage sein. Es wird als HTTP-Header Host: gesendet.

1