Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite
Derzeitige Position:Abb. Anfang " Praktische AI-Tutorials

WordPress-Anleitung für Fortgeschrittene zum Ändern von Subdomain-URLs mit Pan-Auflösungen (Unterstützung von Multi-Domain-Bindungen)

2025-07-28 261

1. zentrale Ziele und übergeordnete Funktionen

1.1 Kernziele

Ändern Sie die URL-Struktur Ihrer WordPress-Website von der traditionellen Katalog-FormularDie elegante Verwandlung in ein modernes Formulare für Subdomainsund stellen Sie sicher, dass sie suchmaschinenfreundlich ist.

  • URL-Struktur vor der Konvertierunghttps://your-domain.com/[前缀]/[变量]/
  • URL-Struktur nach der Konvertierunghttps://[变量].your-domain.com/

1.2 Erweiterte Funktionen (neuer Programmkern)

In dieser Anleitung wird ein flexibles, umschaltbares URL-Richtliniensystem implementiert, das mehrere Domänen unterstützt.

  • Multi-Domain-UnterstützungKann für mehrere Primärdomänen gleichzeitig verwendet werden (z. B. aigcsoft.sitetchepai.com) Aktivieren Sie den Subdomänenmodus.
  • URL-RichtlinienwechselSie können mit einem einfachen Schalter zwischen den beiden folgenden Modi wechseln:
    1. Primäres Domänennamenmodell (SEO Best)Unabhängig von dem Domainnamen, von dem aus der Benutzer auf die Website zugreift, werden die endgültige URL und die In-Page-Links auf den von Ihnen angegebenen "Hauptdomainnamen" verweisen, um das Gewicht zu zentralisieren.
    2. Aktueller Bereichsmodus (Flexible Anzeige)Die Website merkt sich den Domainnamen, den der Benutzer gerade besucht, und generiert alle Links unter diesem Domainnamen, für Szenarien, in denen mehrere Marken unabhängig voneinander angezeigt werden.

2. vorbereitende Arbeiten und Kernkonzepte

Bevor Sie beginnen, vergewissern Sie sich, dass Sie alles haben:

  • DNS-Verwaltungsrechte für alle Ihre zugehörigen Domänennamen.
  • Backend-Administrationsrechte (z.B. Pagoda Panel, cPanel, etc.) Ihres Webservers (Host).

Dieses Programm besteht aus drei Hauptmodulen, die ineinander greifen:

  • DNS-Schicht: dienen als "Adressbuch" für IhreAlle Domänennamender Subdomain-Anfragen auf Ihren Server verweisen.
  • Webserver-Schicht (Nginx/Apache)Traffic Director": Er nimmt alle Anfragen entgegen und erstellt einen "Verkehrsfluss" für diemehrere DomänennamenKonfigurieren Sie SSL- und domänenübergreifende Richtlinien.
  • WordPress-Anwendungsschicht (PHP)Als "Content Engine" erkennt der Code auf intelligente Weise Anfragen, schreibt Links um und führt Umleitungen auf der Grundlage von Umschaltrichtlinien durch.

3. ausführliche Konfigurationsschritte

Schritt 1: Konfigurieren Sie die DNS-Flood-Auflösung für alle Domänen

Dies ist die Grundlage. Sie müssen eine maßgeschneiderte Konfiguration für die Daten einrichten, die Sie für dieJeder primäre DomänennameWiederholen Sie diesen Vorgang.

  1. PlatzierungDas DNS-Verwaltungspanel für jeden Domain-Namen-Registrar.
  2. Rigg: Fügen Sie eine Zeile für jeden Domänennamen hinzu. A Aufzeichnungen.
    • Host-Datensatz (Host/Name)* (Sternchen)
    • SatzartA
    • Wert aufzeichnen (Wert / Punkte bis)您服务器的 IPv4 地址
    • typisches Beispiel:: Für aigcsoft.site Einen Artikel hinzufügen * Datensatz und dann für die tchepai.com Einen Artikel hinzufügen * Aufzeichnungen.

Schritt 2: Konfigurieren Sie den Webserver (am Beispiel des Pagoda-Panels)

2.1 Hinzufügen einer Multi-Domain-Bindung und einer Multi-Zertifikat-Konfiguration

  1. Website erstellen/einrichten:
    • PlatzierungPagoda-Panel -> Website-Verwaltung.
    • RiggErstellen Sie eine Website mit dem Hauptdomainnamen. *.your-domain-1.comGehen Sie dann zu "Domain Management" für diese Website. Gehen Sie dann zum "Domain Management" der Website und fügen Sie Ihre anderen Wildcard-Domainnamen hinzu (z. B. *.your-domain-2.com) Fügen Sie es hinzu.
  2. Mehrere SSL-Zertifikate konfigurieren (Schlüsselschritt):
    • PlatzierungEinstellungen" -> Registerkarte "SSL" auf der Website.
    • Beantragen Sie ein Zertifikat für den ersten Domainnamen:
      • Wählen Sie "Let's Encrypt" und wählen Sie "DNS-Authentifizierung" als Authentifizierungsmethode.
      • Zecke your-domain-1.com im Gesang antworten *.your-domain-1.comWenn Sie dazu nicht in der Lage sind, folgen Sie den Anweisungen, um die Validierung des TXT-Eintrags für DNS abzuschließen und ihn zu beantragen.
    • Beantragung eines Zertifikats für einen zweiten Domainnamen:
      • Klicken Sie in der SSL-Schnittstelle auf die obere linke Ecke des FeldesDropdown-Menü der ZertifikatsmarkeWählen Sie dann erneut "Let's Encrypt".
      • Die Benutzeroberfläche wird aktualisiert, so dass Sie die Möglichkeit haben, eineNeue Anwendungen.
      • dieses MalNur ankreuzen your-domain-2.com im Gesang antworten *.your-domain-2.comWenn Sie einen neuen Domänennamen beantragen möchten, folgen Sie erneut den Anweisungen, um die DNS-Überprüfung und die Beantragung des neuen Domänennamens abzuschließen.
      • Wiederholen Sie diesen Vorgang für alle Domänen. Schließlich werden auf Ihrer Website mehrere Zertifikate gleichzeitig eingesetzt, und der Server wird sie automatisch den besuchten Domänen zuordnen.
    • HTTPS erzwingenNachdem alle Zertifikate erfolgreich bereitgestellt wurden, sollten Sie die Funktion "HTTPS erzwingen" aktivieren.

2.2 Konfigurieren Sie die CORS-Cross-Domain-Richtlinie (um Probleme beim Laden von Symbolen/Schriften zu beheben)
Diese Konfiguration wird einmalig vorgenommen und gilt für alle Domänen.

  1. PlatzierungDie Nginx- oder Apache-Konfigurationsdatei für Ihre Website.
  2. Rigg:
    • Nginx: In server{} Innerhalb des Blocks hinzugefügt:
      # --- 为字体文件添加 CORS 跨域许可 ---
      location ~* \.(eot|otf|ttf|woff|woff2)$ {
      add_header 'Access-Control-Allow-Origin' '*' always;
      }
      
    • Apache: im Stammverzeichnis .htaccess Datei hinzugefügt wird:
      # --- 为字体文件添加 CORS 跨域许可 ---
      <FilesMatch "\.(eot|otf|ttf|woff|woff2)$">
      Header set Access-Control-Allow-Origin "*"
      </FilesMatch>
      
  3. Speichern und laden Sie den Dienst neu.

Schritt 3: Ändern der WordPress-Kerndateien

3.1 Änderungen wp-config.php Dateien (die sich im Stammverzeichnis der Website befinden)
Diese Datei ist für die Identifizierung aller Subdomain-Anfragen für autorisierte Domains zuständig.

Rigg: In wp-config.php Anfang des Dokuments (<?php Tag) den folgenden Codeblock ein.

/**
* ===================================================================
*               子域名泛解析配置: 内部请求重写 (多域名支持版)
* ===================================================================
*/
if (isset($_SERVER['HTTP_HOST'])) {
// --- 请在这里修改为您自己的配置 ---
$SUBDOMAIN_CONFIG = [
// 在此列表中添加所有您希望启用此功能的根域名
'allowed_main_domains' => [
'aigcsoft.site',     // 您的第一个域名
'tchepai.com',       // 您的第二个域名
],
// 这是您的固定目录前缀
'url_prefix' => 'tool',
];
// --------------------------------
$current_host = $_SERVER['HTTP_HOST'];
$host_parts = explode('.', $current_host);
if (count($host_parts) >= 3 && $host_parts[0] !== 'www') {
$subdomain = $host_parts[0];
$main_domain_candidate = implode('.', array_slice($host_parts, 1));
if (in_array($main_domain_candidate, $SUBDOMAIN_CONFIG['allowed_main_domains'])) {
$_SERVER['REQUEST_URI'] = '/' . $SUBDOMAIN_CONFIG['url_prefix'] . '/' . $subdomain . '/';
}
}
}

3.2 Änderungen functions.php Datei (die sich im Verzeichnis wp-content/themes/your-active-theme/)
Diese Datei ist das Kontrollzentrum der URL-Richtlinie.

Rigg: In den Einstellungen Ihres Themes functions.php Fügen Sie am Ende der Datei Folgendes hinzuVollständiger Code-Block.

/**
* ===================================================================
*            子域名泛解析功能包: URL处理 & SEO重定向 (带开关的多域名支持版)
* ===================================================================
*/
// --- 请在这里修改为您自己的配置 ---
$MY_APP_CONFIG = [
// [重要!] 定义您的“官方”主域名。
'canonical_domain' => 'aigcsoft.site',
// 所有授权的域名 (与 wp-config.php 中保持一致)
'allowed_main_domains' => [
'aigcsoft.site',
'tchepai.com',
],
// 您的固定目录前缀
'url_prefix'  => 'tool',
/**
* [总开关] 是否强制使用主域名 (Canonical Domain)
* - 设置为 true:  【SEO 最佳实践】无论用户从哪个域名访问,最终地址和页面内链接都会统一到 'canonical_domain'。
* - 设置为 false: 【灵活展示模式】网址会显示用户当前访问的域名,实现多品牌独立展示。
*/
'force_canonical_domain' => true, // 在这里切换 true 或 false
];
// --------------------------------
// 功能 1: 禁用 WordPress 规范链接重定向 (基石)
remove_filter('template_redirect', 'redirect_canonical');
// 功能 2: 动态重写网站内所有相关链接 (已升级)
function my_theme_rewrite_internal_links($permalink, $post) {
global $MY_APP_CONFIG;
$prefix_to_check = '/' . $MY_APP_CONFIG['url_prefix'] . '/';
if (strpos($permalink, $prefix_to_check) !== false) {
$target_domain = $MY_APP_CONFIG['canonical_domain'];
if (!$MY_APP_CONFIG['force_canonical_domain']) {
$current_main_domain = implode('.', array_slice(explode('.', $_SERVER['HTTP_HOST']), -2));
if (in_array($current_main_domain, $MY_APP_CONFIG['allowed_main_domains'])) {
$target_domain = $current_main_domain;
}
}
return 'https://' . $post->post_name . '.' . $target_domain . '/';
}
return $permalink;
}
add_filter('post_link', 'my_theme_rewrite_internal_links', 20, 2);
add_filter('post_type_link', 'my_theme_rewrite_internal_links', 20, 2);
// 功能 3: 为旧链接 (/prefix/slug/) 设置 301 永久重定向 (已升级)
function my_theme_redirect_old_urls() {
global $MY_APP_CONFIG;
$prefix_to_check = '/' . $MY_APP_CONFIG['url_prefix'] . '/';
if (in_array($_SERVER['HTTP_HOST'], $MY_APP_CONFIG['allowed_main_domains']) && strpos($_SERVER['REQUEST_URI'], $prefix_to_check) === 0) {
$slug = trim(str_replace($prefix_to_check, '', $_SERVER['REQUEST_URI']), '/');
if (!empty($slug)) {
$target_domain = $MY_APP_CONFIG['force_canonical_domain'] ? $MY_APP_CONFIG['canonical_domain'] : $_SERVER['HTTP_HOST'];
wp_redirect('https://' . $slug . '.' . $target_domain . '/', 301);
exit;
}
}
}
add_action('template_redirect', 'my_theme_redirect_old_urls');
// 功能 4: [新增] 当开关开启时,将非主域名访问重定向到主域名
function my_theme_redirect_to_canonical_domain() {
global $MY_APP_CONFIG;
if (!$MY_APP_CONFIG['force_canonical_domain']) return;
$current_host = $_SERVER['HTTP_HOST'];
$host_parts = explode('.', $current_host);
if (count($host_parts) >= 3 && $host_parts[0] !== 'www') {
$subdomain = $host_parts[0];
$current_main_domain = implode('.', array_slice($host_parts, 1));
if (in_array($current_main_domain, $MY_APP_CONFIG['allowed_main_domains']) && $current_main_domain !== $MY_APP_CONFIG['canonical_domain']) {
wp_redirect('https://' . $subdomain . '.' . $MY_APP_CONFIG['canonical_domain'] . '/', 301);
exit;
}
}
}
add_action('template_redirect', 'my_theme_redirect_to_canonical_domain', 5);

4. endgültige Validierung und Fehlerbehebung

  1. Löschen des Caches:: Nach Abschluss der ÄnderungenunbedingtLöschen Sie alle Caches (Plugins, CDNs, Server, Browser). Es wird dringend empfohlen, Folgendes zu verwendenKein Trace-ModusPrüfung.
  2. Kippschalter: In functions.php Änderung 'force_canonical_domain' Der Wert von (true/false), um verschiedene Modi zu testen.

4.1 Überprüfungsmethode: Wenn der Schalter auf true (Modus des primären Domänennamens)

  • Test Sprung: Geben Sie in die Adresszeile Ihres Browsers ein [变量].your-domain-2.com. Nachdem Sie die Eingabetaste gedrückt haben, sollte die AdressleisteJetzt springenbis zu [变量].your-domain-1.com (Ihr primärer Domänenname).
  • Test-Link: Besuchen Sie eine beliebige Seite und klicken Sie mit der rechten Maustaste, um alle internen Links, ihre href KausalitätMuss alles seinZeigen Sie auf Ihre Hauptdomain (...your-domain-1.com).

4.2 Überprüfungsmethode: Wenn der Schalter auf false (aktueller Modus des Domänennamens)

  • Testbetrieb:: Zugang [变量].your-domain-2.comDie Adressleiste sollteunverändert bleiben.
  • Test-Link: In [变量].your-domain-2.com Seite, klicken Sie mit der rechten Maustaste, um alle internen Links zu überprüfen, ihre href sollte auf die aktuelle Domain verweisen (...your-domain-2.com).
  • Kreuztests:: Zugriff auf neue Registerkarte [变量].your-domain-1.comDer Link zu dieser Seite sollte dann auf die Seite ...your-domain-1.com.

4.3 Fehlersuche bei allgemeinen Problemen

  • Unbegrenzte Weiterleitung:: Sicherstellen remove_filter('template_redirect', 'redirect_canonical'); Existiert und ist nicht mit Anmerkungen versehen.
  • Falsches/unsicheres ZertifikatÜberprüfen Sie Schritt 2.1, um sicherzustellen, dass unabhängige SSL-Zertifikate für alle Domainnamen erfolgreich angewendet und bereitgestellt wurden.
  • Fehlende Icons/SchriftartenÜberprüfen Sie die CORS-Cross-Domain-Konfiguration in Schritt 2.2.
  • Links oder Sprünge verhalten sich nicht wie erwartet:: Inspektion functions.php den richtigen Wert des Schalters in derGründliche Cache-Reinigung.
  • Website weißer Bildschirm/500 Fehler:: Inspektion wp-config.php vielleicht functions.php Es gibt keine PHP-Syntaxfehler in der

Bewahren Sie diesen Leitfaden für Fortgeschrittene an einem sicheren Ort auf. Er wird Ihnen bei zukünftigen Server-Migrationen, Themen-Upgrades oder bei der Implementierung derselben Strategie für neue Projekte von unschätzbarem Wert sein.

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

zurück zum Anfang

de_DEDeutsch