Support » Allgemeine Fragen » Problem mit Multisite

  • Gelöst orpheus55

    (@orpheus55)


    Guten Abend,
    ich habe versucht, die Multisite-Funktion einzurichten, habe alle Schritte befolgt, dann lief etwas schief und ich habe leicht panisch versucht, alles rückgängig zu machen, indem ich die .htaccess und die wp-config.php wieder um die neuen Einträge bereinigt habe. Im Prinzip läuft die Seite jetzt wieder wie zuvor- von daher ist alles ok.
    Jetzt will ich aber nicht aufgeben und es wieder mit Multisite probieren. Sobald ich aber das define( 'WP_ALLOW_MULTISITE', true ); eintrage, gibt WP allerdings einen Warnhinweis aus: Bestehendes Netzwerk gefunden – ich dachte jedoch, ich hätte alles wieder zurückgesetzt. Hatte sogar aus der Updraft-Sicherung die Datenbank von gestern wieder eingespielt …
    Also, ich würde gern noch einmal „ganz von vorn“ anfangen. Wie bekomme ich das hin, dass alle Spuren meiner bisherigen Taten verschwinden?
    Danke und Grüße

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

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Der Hinweis hat damit zu tun, dass bereits Datenbanktabellen für eine Multisite angelegt wurden. Die werden nicht von Zauberhand gelöscht, wenn du Änderungen an der wp-config.php und .htaccess vornimmst.

    Gehst du im Backend unter Werkzeuge auf Netzwerkeinrichtung (1), siehst du den von dir genannten Warnhinweis (2) sowie einen eindringlichen Hinweis, ein Backup von wp-config.php und .htaccess anzulegen (3). Das kannst du jetzt noch nachholen.
    Anschließend kopierst du den unter (4) angezeigten Code in die wp-config.php und den Code unter (5) in die .htaccess:

    Screenshot Einstellungen
    (zum Vergrößern anklicken)

    Danach solltest du dein Netzwerk nutzen können.

    Es ist komplizierter, die Einrichtung der Netzwerkinstallation komplett zurückzunehmen, weil dabei verschiedene Datenbanktabellen angelegt und Datenbank-Einträge vorgenommen werden, die du alle rückgängig machen musst. Meistens wird vorgeschlagen, statt dessen ein Backup der Haupt-Website zu machen und daraus eine neue WordPress-Website anzulegen (z.B. How To Revert a WordPress Multisite to a Single-Site).

    Im Zweifelsfall solltest du ein Backup wiederherstellen, das du vor deinen Änderungen angelegt hast. (Hast du, oder? Falls nicht, hat vielleicht dein Webhoster ein Backup? Falls nicht … blöd gelaufen.)

    Thread-Starter orpheus55

    (@orpheus55)

    Danke erstmal. Die Schritte 3-5 hatte ich tatsächlich schon probiert – dann hatte das Ganze aber den Error 500. Deswegen hatte ich mir halt gedacht, ich mache alles komplett wieder rückgängig. Scheint allerdings nicht so einfach zu sein.

    Regelmäßige Backups habe ich mit Updraft erstellt. Allerdings gelingt mir das jetzt auch nicht: Fehlermeldung „Restore failed“ – angeblich sei ich nicht eingeloggt … und tatsächlich zeigt sich, dass ich zwischenzeitlich offenbar ausgeloggt worden bin (??). Das wird jetzt etwas kompliziert. Aber ich versuche mal weiter, zurecht zu kommen.

    Thread-Starter orpheus55

    (@orpheus55)

    Ach du je – jetzt habe ich noch einmal versucht, die beiden Dateien wie oben gezeigt um den Code für Multisite zu ergänzen – seitdem kann ich mich nicht mehr bei WP einloggen. Habe dann per FileZilla diese Änderungen an beiden Dateien zurückgenommen, kann mich aber weiter nicht einloggen. Die Website läuft zum Glück. Was kann ich denn jetzt machen? Danke für weitere Hilfe.

    Ach du je – jetzt habe ich noch einmal versucht, die beiden Dateien wie oben gezeigt um den Code für Multisite zu ergänzen – seitdem kann ich mich nicht mehr bei WP einloggen.

    Hast du schon den Browsercache gelöscht? – Oder hast du die Anmeldung mal in einem anderen Browser oder im Inkognito-Modus (z. B. bei Chrome) mit https://psy******.de/wp-login.php getestet (die vollständige URL habe ich hier bewusst nicht angegeben)? – ich kam zumindest bis zur Anmeldung.

    Poste bitte mal den Inhalt der wp-config.php und .htaccess.
    Vor Absenden der Antwort bitte die Zugangsdaten und Schlüssel aus der Antwort löschen – wir wollen niemanden einladen, deine Website zu hacken.

    Thread-Starter orpheus55

    (@orpheus55)

    Also … mit einem anderen Browser schaffe ich es schon ins WP Dashboard. Da ist es nun so, dass ich ganz oben links jetzt tatsächlich den Punkt „Meine Websites“ bzw. dann „Netzwerkverwaltung“ sehe, so dass Multisite ja offenbar doch eingerichtet wurde (die unten angegebenen Systemdateien enthalten ja auch den Code, den WP mir zum Einfügen genannt hatte). Unter „Werkzeuge“ taucht dagegen ein Unterpunkt „Netzwerk – Einrichtung“ nicht (mehr?) auf … verschwindet der am Ende der Multisite-Einrichtung wieder?
    Nun ist es ja mein Vorhaben, eine weitere Website hinzuzufügen. Wenn ich das bei „Netzwerkverwaltung – Meine Websites – Website hinzufügen“ probiere, bekommen ich nur das Anlegen eines Subdirectory angeboten. Ich möchte jedoch eine Subdomain hinzufügen, die ich beim Hoster bereits als Staging angelegt habe. Nun ja, irgendwas ist da wohl nicht ganz in Ordnung. Tut mir Leid, dass es so verworren ist.

    Hier nun also die .htaccess:

    # BEGIN LSCACHE
    # END LSCACHE
    # BEGIN NON_LSCACHE
    # END NON_LSCACHE
    # ----------------------------------------------------------------------
    # | Compression                                                        |
    # ----------------------------------------------------------------------
    <IfModule mod_deflate.c>
    	
    # Force compression for mangled <code>Accept-Encoding</code> request headers
    # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
    	
    	<IfModule mod_setenvif.c>
    		<IfModule mod_headers.c>
    			SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    			RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    		</IfModule>
    	</IfModule>
    	
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    	
    # Compress all output labeled with one of the following media types.
    #
    # (!) For Apache versions below version 2.3.7 you don't need to
    # enable <code>mod_filter</code> and can remove the <code><IfModule mod_filter.c></code>
    # and <code></IfModule></code> lines as <code>AddOutputFilterByType</code> is still in
    # the core directives.
    #
    # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
    	
    	<IfModule mod_filter.c>
    		AddOutputFilterByType DEFLATE "application/atom+xml" \
    		"application/javascript" \
    		"application/json" \
    		"application/ld+json" \
    		"application/manifest+json" \
    		"application/rdf+xml" \
    		"application/rss+xml" \
    		"application/schema+json" \
    		"application/vnd.geo+json" \
    		"application/vnd.ms-fontobject" \
    		"application/x-font-ttf" \
    		"application/x-javascript" \
    		"application/x-web-app-manifest+json" \
    		"application/xhtml+xml" \
    		"application/xml" \
    		"font/collection" \
    		"font/eot" \
    		"font/opentype" \
    		"font/otf" \
    		"font/ttf" \
    		"image/bmp" \
    		"image/svg+xml" \
    		"image/vnd.microsoft.icon" \
    		"image/x-icon" \
    		"text/cache-manifest" \
    		"text/calendar" \
    		"text/css" \
    		"text/html" \
    		"text/javascript" \
    		"text/plain" \
    		"text/markdown" \
    		"text/vcard" \
    		"text/vnd.rim.location.xloc" \
    		"text/vtt" \
    		"text/x-component" \
    		"text/x-cross-domain-policy" \
    		"text/xml"
    		
    	</IfModule>
    	
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    	
    # Map the following filename extensions to the specified
    # encoding type in order to make Apache serve the file types
    # with the appropriate <code>Content-Encoding</code> response header
    # (do note that this will NOT make Apache compress them!).
    #
    # If these files types would be served without an appropriate
    # <code>Content-Enable</code> response header, client applications (e.g.:
    # browsers) wouldn't know that they first need to uncompress
    # the response, and thus, wouldn't be able to understand the
    # content.
    #
    # https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding
    	
    	<IfModule mod_mime.c>
    		AddEncoding gzip              svgz
    	</IfModule>
    	
    </IfModule>
    # ----------------------------------------------------------------------
    # | Expires headers                                                    |
    # ----------------------------------------------------------------------
    # Serve resources with far-future expires headers.
    #
    # (!) If you don't control versioning with filename-based
    # cache busting, you should consider lowering the cache times
    # to something like one week.
    #
    # https://httpd.apache.org/docs/current/mod/mod_expires.html
    <IfModule mod_expires.c>
    	
    	ExpiresActive on
    	ExpiresDefault                                      "access plus 1 month"
    	
    # CSS
    	
    	ExpiresByType text/css                              "access plus 1 year"
    	
    	
    # Data interchange
    	
    	ExpiresByType application/atom+xml                  "access plus 1 hour"
    	ExpiresByType application/rdf+xml                   "access plus 1 hour"
    	ExpiresByType application/rss+xml                   "access plus 1 hour"
    	
    	ExpiresByType application/json                      "access plus 0 seconds"
    	ExpiresByType application/ld+json                   "access plus 0 seconds"
    	ExpiresByType application/schema+json               "access plus 0 seconds"
    	ExpiresByType application/vnd.geo+json              "access plus 0 seconds"
    	ExpiresByType application/xml                       "access plus 0 seconds"
    	ExpiresByType text/calendar                         "access plus 0 seconds"
    	ExpiresByType text/xml                              "access plus 0 seconds"
    	
    	
    # Favicon (cannot be renamed!) and cursor images
    	
    	ExpiresByType image/vnd.microsoft.icon              "access plus 1 week"
    	ExpiresByType image/x-icon                          "access plus 1 week"
    	
    # HTML
    	
    	ExpiresByType text/html                             "access plus 0 seconds"
    	
    	
    # JavaScript
    	
    	ExpiresByType application/javascript                "access plus 1 year"
    	ExpiresByType application/x-javascript              "access plus 1 year"
    	ExpiresByType text/javascript                       "access plus 1 year"
    	
    	
    # Manifest files
    	
    	ExpiresByType application/manifest+json             "access plus 1 week"
    	ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    	ExpiresByType text/cache-manifest                   "access plus 0 seconds"
    	
    	
    # Markdown
    	
    	ExpiresByType text/markdown                         "access plus 0 seconds"
    	
    	
    # Media files
    	
    	ExpiresByType audio/ogg                             "access plus 1 month"
    	ExpiresByType image/bmp                             "access plus 1 month"
    	ExpiresByType image/gif                             "access plus 1 month"
    	ExpiresByType image/jpeg                            "access plus 1 month"
    	ExpiresByType image/png                             "access plus 1 month"
    	ExpiresByType image/svg+xml                         "access plus 1 month"
    	ExpiresByType image/webp                            "access plus 1 month"
    	ExpiresByType video/mp4                             "access plus 1 month"
    	ExpiresByType video/ogg                             "access plus 1 month"
    	ExpiresByType video/webm                            "access plus 1 month"
    	
    	
    # Web fonts
    	
    # Collection
    	ExpiresByType font/collection                       "access plus 1 month"
    	
    # Embedded OpenType (EOT)
    	ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    	ExpiresByType font/eot                              "access plus 1 month"
    	
    # OpenType
    	ExpiresByType font/opentype                         "access plus 1 month"
    	ExpiresByType font/otf                              "access plus 1 month"
    	
    # TrueType
    	ExpiresByType application/x-font-ttf                "access plus 1 month"
    	ExpiresByType font/ttf                              "access plus 1 month"
    	
    # Web Open Font Format (WOFF) 1.0
    	ExpiresByType application/font-woff                 "access plus 1 month"
    	ExpiresByType application/x-font-woff               "access plus 1 month"
    	ExpiresByType font/woff                             "access plus 1 month"
    	
    # Web Open Font Format (WOFF) 2.0
    	ExpiresByType application/font-woff2                "access plus 1 month"
    	ExpiresByType font/woff2                            "access plus 1 month"
    	
    	
    # Other
    	
    	ExpiresByType text/x-cross-domain-policy            "access plus 1 week"
    	
    </IfModule>
    # BEGIN WordPress
    # Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind
    # dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
    # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    </IfModule>
    
    # END WordPress
    # BEGIN ShortPixel Adaptive Images
    # Die Anweisungen (Zeilen) zwischen „BEGIN ShortPixel Adaptive Images“ und „END ShortPixel Adaptive Images“ sind
    # dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
    # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
    # END ShortPixel Adaptive Images
    # BEGIN FRedirect_ErrorDocument
    # Die Anweisungen (Zeilen) zwischen „BEGIN FRedirect_ErrorDocument“ und „END FRedirect_ErrorDocument“ sind
    # dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
    # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
    ErrorDocument 404 /index.php?error=404
    # END FRedirect_ErrorDocument

    und die wp-config.php:

    <?php
    define( 'WP_CACHE', true ); // Added by WP Rocket
    /**
     * Grundeinstellungen für WordPress
     *
     * Zu diesen Einstellungen gehören:
     *
     * * MySQL-Zugangsdaten,
     * * Tabellenpräfix,
     * * Sicherheitsschlüssel
     * * und ABSPATH.
     *
     * Mehr Informationen zur wp-config.php gibt es auf der
     * {@link https://codex.wordpress.org/Editing_wp-config.php wp-config.php editieren}
     * Seite im Codex. Die Zugangsdaten für die MySQL-Datenbank
     * bekommst du von deinem Webhoster.
     *
     * Diese Datei wird zur Erstellung der wp-config.php verwendet.
     * Du musst aber dafür nicht das Installationsskript verwenden.
     * Stattdessen kannst du auch diese Datei als wp-config.php mit
     * deinen Zugangsdaten für die Datenbank abspeichern.
     *
     * @package WordPress
     */
    // ** MySQL-Einstellungen ** //
    /**   Diese Zugangsdaten bekommst du von deinem Webhoster. **/
    /**
     * Ersetze datenbankname_hier_einfuegen
     * mit dem Namen der Datenbank, die du verwenden möchtest.
     */
    define('DB_NAME', 'usr_XXXXXXXX_3');
    /**
     * Ersetze benutzername_hier_einfuegen
     * mit deinem MySQL-Datenbank-Benutzernamen.
     */
    define('DB_USER', 'pXXXXXX');
    /**
     * Ersetze passwort_hier_einfuegen mit deinem MySQL-Passwort.
     */
    define('DB_PASSWORD', 'XXXXXXXX');
    /**
     * Ersetze localhost mit der MySQL-Serveradresse.
     */
    define('DB_HOST', 'db000876.mydbserver.com');
    /**
     * Der Datenbankzeichensatz, der beim Erstellen der
     * Datenbanktabellen verwendet werden soll
     */
    define('DB_CHARSET', 'utf8');
    /**
     * Der Collate-Type sollte nicht geändert werden.
     */
    define('DB_COLLATE', 'utf8_general_ci');
    /**#@+
     * Sicherheitsschlüssel
     *
     * Ändere jeden untenstehenden Platzhaltertext in eine beliebige,
     * möglichst einmalig genutzte Zeichenkette.
     * Auf der Seite {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
     * kannst du dir alle Schlüssel generieren lassen.
     * Du kannst die Schlüssel jederzeit wieder ändern, alle angemeldeten
     * Benutzer müssen sich danach erneut anmelden.
     *
     * @since 2.6.0
     */
    Define ……..
    Bla bla bla
    /**
     * WordPress Datenbanktabellen-Präfix
     *
     * Wenn du verschiedene Präfixe benutzt, kannst du innerhalb einer Datenbank
     * verschiedene WordPress-Installationen betreiben.
     * Bitte verwende nur Zahlen, Buchstaben und Unterstriche!
     */
    $table_prefix  = 'wp_';
    /**
     * Für Entwickler: Der WordPress-Debug-Modus.
     *
     * Setze den Wert auf „true“, um bei der Entwicklung Warnungen und Fehler-Meldungen angezeigt zu bekommen.
     * Plugin- und Theme-Entwicklern wird nachdrücklich empfohlen, WP_DEBUG
     * in ihrer Entwicklungsumgebung zu verwenden.
     *
     * Besuche den Codex, um mehr Informationen über andere Konstanten zu finden,
     * die zum Debuggen genutzt werden können.
     *
     * @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define('WP_DEBUG', false);
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    define( 'DOMAIN_CURRENT_SITE', 'psychotherapie-kukowski.de' );
    define( 'PATH_CURRENT_SITE', '/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
    /* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */
    /* That's all, stop editing! Happy blogging. */
    /** Der absolute Pfad zum WordPress-Verzeichnis. */
    if ( !defined('ABSPATH') )
    	define('ABSPATH', dirname(__FILE__) . '/');
    /** Definiert WordPress-Variablen und fügt Dateien ein.  */
    require_once(ABSPATH . 'wp-settings.php');

    Danke vielmals für Eure Mühe!

    Wenn du die Multisite mit Subdomains betreiben möchtest, musst du die Zeile
    define( 'SUBDOMAIN_INSTALL', false ); auf
    define( 'SUBDOMAIN_INSTALL', true ); ändern.

    Wenn du nach Einrichtung der Mutisite auf Meine Websites > Netzwerkverwaltung > Einstellungen gehst, solltest du als Unterpunkt im Menü links weiterhin einen Punkt Netzwerkeinrichtung angezeigt bekommen, der dir rein informell die Anpassungen für wp-config.php und .htaccess zeigt.

    Dass du dich mit einem Browser anmelden kannst, mit dem anderen nicht, kann an Cookies liegen. Lösch bitte die Cookies für die Website und probier es nochmal.

    Ansonsten scheint dann doch alles zu passen?

    Thread-Starter orpheus55

    (@orpheus55)

    Super, herzlichen Dank. Das klappt. Tolle Unterstützung, wirklich.
    Jetzt komme ich vermutlich erst einmal allein zurecht. Schönes Wochenende allseits.

    … und wer darf jetzt wieder den Thread als „gelöst“ markieren? 🙄

    Thread-Starter orpheus55

    (@orpheus55)

    Sorry, hab’s übersehen.

    Alles gut. 😀

    Hauptsache, es läuft alles. 😉

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Das Thema „Problem mit Multisite“ ist für neue Antworten geschlossen.