Im Subdomain-Servicemodus bedient Universally jede Sprache auf ihrer eigenen Subdomain, z. B. fr.example.com, indem die Seite von Ihrer Hauptdomain abgerufen und übersetzt wird. Ihre Astro-App rendert nur die Quellsprache. Die Integration läuft im Proxy-Modus, wo sie die hreflang-Links und den Sprachumschalter zu Ihren Seiten hinzufügt und sonst nichts.
Bevor Sie beginnen
- Das Projekt befindet sich im Subdomain-Servicemodus. Wählen Sie Subdomain unter Wie sollen übersetzte Seiten bereitgestellt werden?, wenn Sie es erstellen. Ein Projekt im JavaScript-Modus kann mit Zum Sprach-Subdomains wechseln auf seiner Einrichtungsseite hierher verschoben werden. Ein Zurückwechseln eines Subdomain-Projekts zum SDK ist noch nicht verfügbar.
- Zugriff auf die DNS-Einstellungen Ihrer Domain.
- Die Rolle „Besitzer“ oder „Administrator“ zum Erstellen des Projekts und Besitzer, Administrator oder Redakteur zum Hinzufügen von Hostnamen und Klicken auf Jetzt erneut prüfen.
Im Proxy-Modus installieren
- Installieren Sie das Paket und fügen Sie
UNIVERSALLY_API_KEYzu.envhinzu, wie in Installieren Sie die Astro-Integration. - Registrieren Sie die Integration mit
mode: 'proxy':
import universally from '@universally-sdk/astro';
import { defineConfig } from 'astro/config';
export default defineConfig({
site: 'https://example.com',
integrations: [universally({ mode: 'proxy' })]
});
- Fügen Sie den Head-Tag einmal in Ihr Layout ein, innerhalb von
<head>:
---
import { UniversallyHead } from '@universally-sdk/astro/components';
---
<head>
<UniversallyHead />
</head>
Das Setzen von UNIVERSALLY_MODE=proxy in der Umgebung bewirkt dasselbe wie die Option mode.
Eine Sprach-Subdomain hinzufügen
Die Dashboard-Seite ist für jeden Projekttyp gleich und wird vollständig unter Sprach-Subdomains behandelt.
- Öffnen Sie Alle Sprachen. Klicken Sie in der Karte Sprachen auf Subdomain für Sprache hinzufügen.
- Wählen Sie unter Zielsprache hinzufügen Sprache und Region aus und wählen Sie dann das Subdomain-Format: Region-Code, Sprachcode oder Benutzerdefiniert. Das Segment wird zur Subdomain, sodass Französisch mit Sprachcode auf
example.comzufr.example.comwird. Ein führendeswwwwird von Ihrer Domain entfernt. Der Hostname wird für Sie erstellt. - Fügen Sie die drei DNS-Einträge mit ihrem Namen und Wert in beliebiger Reihenfolge hinzu:
| Typ | Name | Wert | Zweck |
|---|---|---|---|
| CNAME | fr.example.com |
proxy.universally.app |
Routing |
| TXT | wird einmal angezeigt, wenn Cloudflare es ausstellt | wird einmal angezeigt, wenn Cloudflare es ausstellt | Besitz |
| CNAME | _acme-challenge.fr.example.com |
fr.example.com.afc20bbc0f5b23e9.dcv.cloudflare.com |
Zertifikat |
Einträge dürfen nicht weitergeleitet werden. Stellen Sie bei Cloudflare den Proxy-Status auf Nur DNS ein: Ein weitergeleiteter Eintrag wird als A-Eintrag aufgelöst, der nicht validiert werden kann.
- Warten Sie auf die Prüfungen. Sie laufen alle 5 Minuten, und die Verifizierung und das Zertifikat dauern einige Minuten. Klicken Sie auf Jetzt erneut prüfen, um sofort zu prüfen.
- Starten Sie Ihre Astro-Site neu oder bauen Sie sie neu auf, sobald die Subdomain Live anzeigt. Hostnamen werden gelesen, wenn Ihre Konfiguration ausgeführt wird.
Der Status-Pill zeigt DNS-Einträge hinzufügen, Überprüfung, Live, DNS verschoben oder Fehlgeschlagen an. Die Zeitleiste durchläuft DNS hinzugefügt, Domain verifiziert, SSL ausgestellt und Live. Ein Hostname ist aktiv, sobald Cloudflare sowohl den Hostnamen als auch sein Zertifikat als aktiv meldet. Allgemeine Informationen zu Spracheinstellungen finden Sie unter Sprachen hinzufügen.
Welcher Proxy-Modus rendert
Auf https://example.com/about rendert <UniversallyHead /> die Quell- und x-default-Links auf Ihrer site und jedes Ziel auf seinem Hostnamen mit demselben Pfad:
<link rel="alternate" hreflang="en-us" href="https://example.com/about" />
<link rel="alternate" hreflang="fr" href="https://fr.example.com/about" />
<link rel="alternate" hreflang="x-default" href="https://example.com/about" />
Diese Links müssen in Ihrem Quell-HTML vorhanden sein, da der Proxy niemals Ihre Hauptdomain bedient. Siehe hreflang-Tags. Das Umschalt-Skript folgt, es sei denn, switcher: false ist gesetzt.
Der Proxy-Modus überspringt alles andere:
- Keine
/fr/-Routen. Ein Sprachpfad auf Ihrem eigenen Server bleibt eine 404, was korrekt ist. - Kein Katalog, keine Berichte, keine Abfragen. Ihr Server spricht einmal mit Universally, wenn die Konfiguration ausgeführt wird.
/_universally/revalidateantwortet mit 404.t()undhref()geben ihr Argument zurück, sodass ein für den SDK-Modus geschriebenes Layout weiterhin funktioniert.
Überprüfen Sie, ob es funktioniert hat
https://fr.example.com/aboutlädt Ihre Seite auf Französisch.- Die Quelle von
https://example.com/aboutenthält einen Link zuhttps://fr.example.com/about.
Wenn es nicht funktioniert
- Eine Sprache fehlt in den Links: Sie hat noch keinen aktiven Hostnamen. Das Protokoll besagt „… hat keinen aktiven Hostnamen in Universally, daher wurde sie aus den hreflang-Links weggelassen.“ Schließen Sie die DNS-Einträge ab, warten Sie auf Live und erstellen Sie dann neu.
- Die Einträge können nicht validiert werden: Ein Eintrag ist proxied. Wechseln Sie in Cloudflare zu Nur DNS.
- Die Links ändern sich nicht, nachdem ein Subdomain live geschaltet wurde: Hostnamen werden gelesen, wenn die Konfiguration ausgeführt wird. Starten Sie neu oder erstellen Sie neu.
Weitere Fälle finden Sie unter Fehlerbehebung bei Astro-Integrationen.