Support » Allgemeine Fragen » Domain Mapping funktioniert nicht

  • Gelöst hannes04x

    (@hannes04x)


    Hallo Support,
    ich habe wsl. eine totale Anfängerfrage:

    Irgendwie schaffe ich es nicht meine WP Seite mit meiner Domain zu verknüpfen. Ich habe die DB Einträge bei meinem Provider gemacht. Die Domain in WP hinzugefügt, es erscheint jedoch bei Website Aufruf immer nur eine Standardseite meines Hosting Providers.

    Zu guter Letzt habe ich noch bei den Domaineinträgen in WP den WordPress Eintrag von http://www.domainname/wordpress auf http://www.domainname.com geändert, nun geht gar nix mehr 🙁

    Ich komme nicht mal mit http://www.domainname/wp-admin auf meine WP Dashboard..

    Vielen Dank für die Unterstützung!

    LG Hannes

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)
  • Hallo,
    eine Weiterleitung im Kundenmenü des Hosters hast Du aber schon eingerichtet, so dass die Domain auf das richtige Verzeichnis zeigt ?
    Viele Grüße
    Hans-Gerd

    Hallo Hans-Gerd,

    ich habe bei meinem Anbeter bei Erweiterungen WordPress eingerichtet/ installiert. DB ist eingerichtet. In der wp-config-php habe ich meine Datenbank Einträge gemacht und Auth Unique Keys and Salts angepasst.

    LG Hannes

    Moderator Bego Mario Garde

    (@pixolin)

    Da kommen nun eine ganze Reihe von Dingen zusammen. 🙂

    ich habe bei meinem Anbeter bei Erweiterungen WordPress eingerichtet

    Das ist dann wohl eine so genannte „One-Click-Installation“ mit einem Skript deines Webhosters gewesen, mit dem WordPress „mit einem Klick“ installiert wurde. Das ist nicht ganz ideal, weil einerseits Webhoster manchmal an eigene Vorstellungen angepasste WordPress-Varianten installieren und andererseits nicht ganz klar ist, wie die Installation genau abgelaufen ist. Aber … klar, du hast erst einmal eine funktionierende WordPress-Installation.

    Wieso du bei einer automatisierten Installation noch Änderungen an der Konfigurationsdatei wp-config.php gemacht hast, ist mir noch nicht ganz klar. Die SALT-Keys dienen der Verschlüsselung deiner Benutzer-Passwörter, damit nicht jemand, der unberechtigt Zugriff auf die Datenbank hat, auch gleich deine Passwörter auslesen kann. Bei den Keys geht es vor allem um einen Zufällig generierten Schlüssel und ein Austausch macht nur Sinn, wenn der Schlüssel unbeabsichtigt publik geworden ist.

    Dass du zur Einrichtung einer Multisite Änderungen an der wp-config.php vornimmst, ist korrekt. Du trägst zuerst

    /* Multisite */
    define( 'WP_ALLOW_MULTISITE', true );

    oberhalb von /* That's all, stop editing! Happy blogging. */ ein, um eine Multisite überhaupt installieren zu können und wirst im weiteren Verlauf aufgefordert, weiteren Code einzutragen.

    Wichtig ist, dass du vor Einrichtung der Multisite die gewünschte Permalink-Struktur festlegst und dich außerdem entscheidest, ob die WordPress-Dateien im Web-Stammverzeichnis stehen oder in einem eigenen Verzeichnis untergebracht werden (etwa, wenn du später noch weitere Webanwendungen wie z.B. Matomo einrichten möchtest). Bei der automatisierten Installation hast du diese Entscheidung nicht aktiv getroffen, sie wurde von deinem Webhoster vorgegeben. Du kannst aber im Kundenmenü deines Webhosters unter Domain-Einstellungen überprüfen, ob deine zuerst eingerichtete Domain direkt auf das Verzeichnis mit den WordPress-Dateien oder ein übergeordnetes Verzeichnis verweist.

    Zu guter Letzt habe ich noch bei den Domaineinträgen in WP den WordPress Eintrag von http://www.domainname/wordpress auf http://www.domainname.com geändert, …

    Das hört sich so an, als ob die WorPress-Dateien in einem eigenen Verzeichnis /wordpress lagen, was wie gesagt die zu bevorzugende Installationsmethode ist, wenn ggf. noch weitere Webanwendungen installiert werden. Über die Einträge in Einstellungen > Allgemein „weiß“ WordPress, dass https://example.com/ dein Web-Stammverzeichnis ist, während die WordPress-Dateien im Unterverzeichnis https://example.com/wordpress/ liegen. Änderst du diesen Eintrag im Backend, ohne die Dateien zu verschieben, … „geht gar nix mehr“ 🙁 .

    Glücklicherweise lässt sich dieser Fehler schnell beheben:

    Entweder gehst du in das Kundenmenü deines Webhosters, öffnest dort die Datenbankverwaltung (in der Regel phpMyAdmin) und änderst in der Tabelle xx_options (wobei xx_ das vom Installationsskript verwendete Tabellen-Präfix ist) die URLs in den Feldern siteurl („Wo liegen meine WordPress-Dateien? https://example.com/wordpress/) und home („Welche Adresse geben Webseitenbesucher ein, wenn sie die Homepage haben wollen? https://example.com),

    oder du trägst in der wp-config.php ganz oben in der zweiten Zeile nach <? ein: define( 'RELOCATE', true ); Dann solltest du dich über https://example.com/wordpress/wp-login.php wieder anmelden können und den fehlerhaften Eintrag in Einstellungen > Allgemein korrigieren. Die WordPress-Adresse gibt an, wo deine WordPress-Dateien liegen (https://example.com/wordpress/), während die Website-Adresse angibt, wo deine Website erreichbar ist (https://example.com).

    Du wirst nach der Änderung aufgefordert, dich neu anzumelden (das Anmelde-Cooie passt nicht mehr zu den Einstellungen), solltest aber wieder normal auf deine Website zugreifen können. Die Anmeldung erfolgt immer über https://example.com/{wordpress-verzeichnis/}wp-login.php.

    Wenn das soweit wieder klappt, solltest du die zuletzt eingefügte Zeile in der wp-config.php wieder rausnehmen. Wir möchten ja nicht, dass das missbraucht werden kann.

    Nun kommen wir zum Thema Domain-Mapping. Früher war dazu ein eigenes Plugin notwendig, inzwischen reicht es, wenn du eine Multisite einrichtest (eine vollständige Anleitung findest du hier: https://wordpress.org/support/article/create-a-network/) und zusätzlich zur primären Website noch eine weitere Website anlegst.
    Je nach Einstellungen der Multisite wird die neue Website entweder in einer Subdomain (https://neue-website.example.com) oder einem Unterverzeichnis (https://example.com/neue-website) eingerichtet. An dieser Stelle spielt die neue Domain noch keine Rolle.

    Wenn du bei deinem Webhoster eine neue Domain einrichtest, wird abgefragt, auf welches Verzeichnis die Domain verweisen soll. Hier solltest du das Web-Stammverzeichnis deiner primären Website angeben (lässt sich auch nachträglich ändern).
    Beispiel: Liegt die Website https://example.com im Serververzeichnis /kunden/4711/htdocs/ und die WordPress-Dateien in /kunden/4711/htdocs/wordpress, gibst du für eine neue Domain https://neue-website-exmaple.com an, dass das Web-Stammverzeichnis /kunden/4711/htdocs/ sein soll.

    Rufst du nun die neue Domain im Browser auf, sollte dir erst einmal der Inhalt der primären Website angezeigt werden. Damit WordPress zuordnen kann, dass der Inhalt der neu eingerichteten Website angezeigt werden soll, gehst du in Meine Websites > Netzwerkverwaltung > Websites und bearbeitest die neu angelegte Website. Unter dem Tab Einstellungen ersetzt du dann sinngemäß https://example.com/neue-website mit der neuen Domain https://neue-website.example.com (bzw. https://example.com/neue-website/wordpress/ mit https://neue-website.example.com/wordpress, wenn die WordPress-Dateien in einem Unterverzeichnis liegen). Werden jetzt Webseite mit der neuen Domain abgerufen, „weiß“ WordPress, dass die URL zu „Blog 2“ gehört und liefert automatisch die richtigen Daten aus – die Domain wird also richtig gemappt.

    Zugegeben ist das alles nicht trivial und eine nachvollziehbare Erklärung zwangsläufig etwas ausführlicher, aber … du hattest danach gefragt. 🙂

    Hallo Bego,

    erstmal herzlichen Dank für die umfassende Antwort. Das ist wirklich top.
    Ok, ich habe jetzt die Einnträge in xx_options angepasst und nun komme ich auch wieder in mein WP Menü/ Dashboard.

    Zu den Auth. Einträgen. Die habe ich gemacht, weil dies in einer Anleitung gestanden ist (denn sie wissen nicht was sie tun.. 🙂 )

    Grundsätzlich habe ich gar keine Multiside. Einfach 1 Website mit 1 Hostinganbieter.
    Wäre dann in dem Fall die weitere Vorgehensweise weiterhin korrekt. Bzw. wo genau müsste ich diese Einträge bei meinem Provider machen?

    Das Menü bei meinem Provider hat folgende Struktur:
    Website u. Domains
    Email
    Anwendungen
    Daten
    Datenbanken
    Statistiken
    Benutzer
    Konto
    WordPress

    Viell. nur zur Info: In der Permalink Struktur bei WP habe ich Beitragsname: https://example.com/beispielbeitrag aktiv.

    Ok, wie ist der derzeitige Stand:

    Wenn ich http://www.example.com/wordpress in den browser eingebe komme ich tatsächlich zu der derzeitigen „jungfräulichen“ Seite (mit einem 404 Eintrag jedoch falls das wichtig ist zu wissen..) In den Protokollen meinem Provider sehe ich neben den 404 Eintrag: GET /wordpress/ HTTP/1.0

    Wenn ich http://www.example.com eingebe komme ich nach wie vor auf eine Standardseite des Providers „hier entsteht eine neue Website mit xxx Provider“

    Danke vielmals für die Unterstützung!!!!!!

    Moderator Bego Mario Garde

    (@pixolin)

    Als red herring („roter Hering“) wird in der englischen Sprache sprichwörtlich ein Ablenkungsmanöver bezeichnet, insbesondere im Phraseologismus ‚to throw someone a red herring‘, der wortwörtlich „jemandem einen roten Hering zuwerfen“ bedeutet, sinngemäß so viel wie „jemanden auf eine falsche Fährte locken; Nebelkerzen werfen“.

    Quelle: Wikipedia

    Wenn du einen Beitrag schreibst, in dessen Titel „Domain Mapping“ vorkommt, nehme ich auch an, dass du eine Domain-Zuweisung zu einer Website einer Multisite meinst.

    Wenn du hingegen einfach eine weitere Domain aufschalten möchtest, hat das mit Domain Mapping nichts zu tun. Du stellst nur im Kundenmenü deines Webhosts ein, dass die Domain auf das Web-Stammverzeichnis verweisen soll und richtest dort eine Weiterleitung ein, um „Duplicate Content“ (also suchmaschinenunfreundlich auf mehreren Domains identischen Inhalt) zu vermeiden.

    Aber erst einmal zum Problem, dass deine Website nur unter https://example.com/wordpress erreichbar ist: Das bekommst du mit folgenden Schritten rasch in den Griff.

    1. Du kopierst aus dem Verzeichnis /wordpress die Datei index.php per FTP in das nächsthöhergelegene Web-Stammverzeichnis.
    2. Du öffnest diese Datei in einem geeigneten Programmier-Editor und passt in der letzten Zeile den Pfad zur WordPress-Installation an:
      * wp-blog-header.php which does and tells WordPress to load the theme.
      require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
    3. Du verschiebst die Datei wp-config.php in das Web-Stammverzeichnis. (Verschieben und Kopieren sind zwei unterschiedliche Sachen. Achte darauf, die index.php zu kopieren und die wp-config.php zu verschieben.)
    4. Du meldest dich unter https://example.com/wordpress/wp-login.php im Backend an, gehst zu Einstellungen > Allgemein und änderst nur die Website-URL auf https://example.com (ohne /wordpress), belässt aber die WordPress-URL auf https://example.com/wordpress (mit /wordpress).
      Du solltest jetzt die Website über https://example.com aufrufen können. Das Anmeldeformular erreichst du weiterhin über https://example.com/wordpress/wp-login.php.
    5. Du meldest dich ggf. nochmal im Backend an, gehst auf Einstellungen > Permalinks, speicherst die gewünschte URL-Struktur und achtest darauf, ob im Web-Stammverzeichnis eine .htaccess angelegt wurde (eventuell Anweisungen folgen und Datei manuell anlegen). Sie müsste dann einen von WordPress erzeugten und mit einem Kommentar versehenen Code-Block enthalten.
    6. Du kannst jetzt für die neue Domain noch eine Weiterleitung einrichten:
      <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^neue-domain.com$ [OR]
        RewriteCond %{HTTP_HOST} ^www.neue-domain.com$
        RewriteRule (.*)$ http://www.bisherige-domain.com/$1 [R=301,L]
      </IfModule>

    Tja, und die Sache mit der Multisite … Wie gesagt, ein Red Herring. 🐟

    Hi,

    mea culpa, kenn mich nicht so aus mit fischen.. 🙁
    Ok, vielen Dank für deinen speditiven Support! Ich weiß das sehr zu schätzen!

    Ich sehe jetzt wo das Problem war:

    Du kopierst aus dem Verzeichnis /wordpress die Datei index.php per FTP in das nächsthöhergelegene Web-Stammverzeichnis.
    Das war mir zuerst nicht möglich, weil eine Stufe höher (bei mir httpdocs) eine Datei mit index.php bereits vorhanden war. Und zwar mit genau dem Quellcode, wie diese Seit, die mir immmer angezeigt wurde.. „hier entsteht eine neue Webseite von…“
    Ich habe jetzt ein neues Verzeichnis angelegt und diese Datei dort mal hingeschoben. dann habe ich- wie du gesagt hast die index.php von WP eine Stufe höher kopiert angepasst und siehe da es funktioniert 😀
    Soll ich die andere index.php dort belassen wo sie ist, oder kann ich diese auch löschen?
    Ich denke ich sollte mich mal bisschen mit FTP u. PHP auseiandersetzen..
    Was bewirkt denn das Kopieren bzw. verschieben auf eine höhere Ebene.

    Moderator Bego Mario Garde

    (@pixolin)

    Die voreingestellte Funktion eines Webservers ist, in einem aufgerufenen Verzeichnis eine index.html, start.htm oder index.php aufzurufen. Urpsrünglich sollte damit ein Verzeichnis (englisch „index“) aller vorhandenen Internetdateien ausgegeben werden, aus denen der Webseitenbesucher sich dann etwas für ihn interessantes aussuchen konnte.

    Ist keine Index-Datei vorhanden, wird als Standard der Inhalt des Verzeichnisses aufgelistet. Spätestens hier tauchen Probleme auf, weil ein Angreifer gezielt nach Konfigurationsdateien suchen könnte, die Zugangsdaten enthält.

    Normalerweise wird die Ausgabe des Verzeichnisinhalts (Directory-Listing) durch eine Server-Einstellung ausgeschaltet, aber damit keine Sicherheitslücken entstehen, packen Webhoster in das Web-Stammverzeichnis eine kleine index.php mit irgendeinem „Hier entstehen großartige Dinge“-Hinweis. Die Datei ist überflüssig, sobald du selber Inhalte platzierst und kann deshalb gelöscht werden.

    Was bewirkt denn das Kopieren bzw. verschieben auf eine höhere Ebene.

    Du kannst die WordPress-Dateien alle ins Web-Stammverzeichnis packen. Unübersichtlich wird es aber, wenn du noch weitere Webanwendungen installieren möchtest. Wenn dann zwischen WordPress-Dateien und Verzeichnissen unmotiviert weitere Verzeichnisse auftauchen, erschwert das zumindest die Wartung. Besser ist also, WordPress in einem separaten Verzeichnis zu speichern. Allerdings sucht der Webserver wie bereits erläutert immer zuerst nach einer index.php und versteht nicht, dass er dazu erst einmal in ein Unterverzeichnis absteigen muss, um dort dann weitere Dateien aufzurufen. Genau das bringst du dem Webserver aber bei, indem du im Web-Stammverzeichnis eine index-Datei anlegst, die eine weitere Dateie aus dem Unterverzeichnis öffnet (und diese dann weitere und weitere …).

    Hallo,

    alles klar – nochmals vielen Dank !!!!!!

    LG Hannes

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)