> $domains * @var string $requestHost * @var App\Security\Csrf $csrf */ use App\Service\DomainChecker; use App\Support\ShortDomain; $statusClass = static fn (string $status): string => match ($status) { DomainChecker::OK => 'ok', DomainChecker::WARNING => 'warn', default => 'error', }; $statusSymbol = static fn (string $status): string => match ($status) { DomainChecker::OK => '✓', DomainChecker::WARNING => '!', default => '×', }; ?>
Unter diesen Domains werden Kurzlinks ausgeliefert. Ein Slug muss nur innerhalb seiner Domain eindeutig sein.
= $e($result['summary']) ?>
= $e($result['hint']) ?>
| Domain | Bezeichnung | Gruppe | Kurzlinks | Aktionen |
|---|---|---|---|---|
|
= $e(ShortDomain::displayName((string) $domain['base_url'])) ?>
Standard
gerade aufgerufen
|
= $e($domain['label'] ?? '–') ?> | = $e($domain['group_name']) ?> keine | = (int) $domain['link_count'] ?> | Kurzlink Bearbeiten |
Eine weitere Domain hier einzutragen genügt nicht – sie muss beim Domain-Anbieter und beim Hoster auf diese Installation zeigen. Vier Schritte, danach einmal prüfen.
Nach jedem Schritt lässt sich über Prüfen in der Liste oben kontrollieren, wie weit die Einrichtung gediehen ist – die Prüfung ruft die Domain tatsächlich auf und meldet, woran es noch hakt.
Beim Domain-Anbieter (dort, wo die Domain registriert ist) in der DNS- bzw. Zonenverwaltung einen Eintrag anlegen:
| Typ | Name | Wert | Wofür |
|---|---|---|---|
| A | qr | 203.0.113.10 | IPv4 des Servers |
| AAAA | qr | 2001:db8::10 | IPv6, falls vorhanden |
| CNAME | qr | short.example.de. | Alternative zu A/AAAA – zeigt auf den vorhandenen Hostnamen |
Entweder A (+ AAAA) oder CNAME – nicht beides. Die richtige IP steht im Hosting-Panel oder im bereits vorhandenen Eintrag der Hauptdomain. Änderungen brauchen je nach TTL wenige Minuten bis einige Stunden.
Die Menüs heißen unterschiedlich, gemeint ist immer dasselbe: IONOS „Domains & SSL → Domain → DNS“ · Strato „Domainverwaltung → Domain verwalten → DNS-Einstellungen“ · Netcup „Domains → DNS“ · Hetzner „DNS Console → Zone → Records“ · Cloudflare „DNS → Records“ · All-Inkl „Domains → Einstellungen → DNS“. Liegen Domain und Hosting beim selben Anbieter, wird der Eintrag beim Anlegen der Subdomain oft automatisch gesetzt – Schritt 1 entfällt dann.
Der Webserver muss die neue Domain beantworten und dabei denselben Webroot verwenden wie die bestehende Installation.
„Websites & Domains → Subdomain hinzufügen“. Plesk schlägt ein neues,
eigenes Verzeichnis vor – dieses bei Dokumentenstamm auf das
Verzeichnis der vorhandenen Installation ändern (dort, wo index.php
liegt, in der Regel …/httpdocs/public bzw. …/httpdocs).
Kein neues Hosting-Paket anlegen.
„Domains → Create A New Domain“. Den Haken bei „Share document root“ setzen bzw. den Document Root manuell auf das Verzeichnis der vorhandenen Installation zeigen lassen.
Gesucht ist die Funktion „Subdomain anlegen“ oder „Domain zuordnen“ mit der Möglichkeit, das Zielverzeichnis zu wählen. Dieses auf den Ordner der bestehenden Installation setzen. Manche Anbieter nennen das „Alias-Domain“ oder „Addon-Domain“ – geeignet ist jede Variante, bei der sich das Verzeichnis frei wählen lässt. Nicht geeignet ist „Domain-Weiterleitung“ oder „Frame-Weiterleitung“.
Im vorhandenen VirtualHost ergänzen und Apache neu laden:
<VirtualHost *:443>
ServerName short.example.de
ServerAlias qr.example.de
DocumentRoot /var/www/urlshort/public
…
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload apache2
Die Domain in server_name aufnehmen und neu laden:
server {
server_name short.example.de qr.example.de;
root /var/www/urlshort/public;
…
}
sudo nginx -t && sudo systemctl reload nginx
Am Container ist nichts zu tun – er beantwortet jeden Hostnamen. Steht ein Reverse Proxy davor (Traefik, Nginx Proxy Manager, Caddy …), muss die neue Domain dort als weiterer Host auf denselben Dienst zeigen.
Im Hosting-Panel bei der neuen (Sub-)Domain „Let’s Encrypt“ bzw. „SSL/TLS“ aktivieren – bei cPanel erledigt das AutoSSL meist von selbst. Auf einem eigenen Server die Domain in das bestehende Zertifikat aufnehmen:
sudo certbot --expand -d short.example.de -d qr.example.de
Solange noch kein Zertifikat vorhanden ist, die Domain hier mit
http:// eintragen – sonst zeigen QR-Codes und Kurzlinks auf eine
Adresse, die der Browser nicht öffnen kann.
Über Neue Domain – exakt so, wie sie im Browser aufgerufen wird (gleiches Schema, gleicher Port). Erst danach ordnet die Anwendung Aufrufe dieser Domain zu.
In der Liste oben auf Prüfen klicken. Die Anwendung löst den Hostnamen auf und ruft die Domain anschließend von außen auf – kommt der Aufruf hier an, ist die ganze Kette in Ordnung.
nslookup qr.example.de – die Antwort muss die IP des Servers sein.Aufrufe über einen nicht eingetragenen Host (z. B. direkt über die IP-Adresse oder hinter einem Proxy) werden der Standarddomain zugeordnet. So bleiben bestehende Links auch dann erreichbar, wenn sich am Hostnamen etwas ändert.