Ich entwickle ein Portal auf WordPress und habe viele Plugins, Beiträge, Kategorien usw. eingerichtet. Jetzt wollte ich drei Themen parallel ausprobieren.
Also habe ich zwei weitere Kopien des Ordners im Webroot meines lokalen Apache erstellt als:
/wpSandbox/ [original, working still !]
/wpSandbox2/ [copy 1]
/wpSandbox3/ [copy 2]
Ebenso habe ich die Datenbank dbWordpress für das Originalportal mittels phpMyAdmin zweimal nachgebaut und dann in der wp-config.php entsprechend geändert
Jetzt können sich die beiden neuen Kopien (von denen ich erwartet hatte, dass sie die Basis zum Testen der neuen Themen sind) nicht beim Administrator anmelden.
In der Tat,
127.0.0.1/wpSandbox2/wp-admin/
leitet tatsächlich weiter zu:
127.0.0.1/wpSandbox/wp-admin/
und kann sich nicht mit denselben Anmeldeinformationen anmelden, die für die Originalkopie funktionieren … 🙁
Bitte sagen Sie mir, warum dies passieren könnte, muss noch etwas in wp-config für die Kopien geändert werden …?
Grüße
Gehen Sie zu Ihrer Datenbankverwaltungsschnittstelle und ändern Sie für Ihre wpSandbox2-Einstellungen die URLs, um dies widerzuspiegeln, da Sie die Datenbank so kopiert haben, wie sie immer noch auf wpSandbox/ verweist.
– Hanky Panky
30. Juli 2013 um 4:34 Uhr
Hallo, Sie müssen die Siteurl und das Home in der Tabelle ‘wp_options’ in Ihrer Datenbank ändern, die für andere 2 Kopien Ihrer WP erstellt wurde.
– Jothi Kannan
30. Juli 2013 um 4:45 Uhr
doitlikejustin
Möglicherweise müssen Sie Ihre Datenbank mit der neuen URL aktualisieren. Deshalb wird umgeleitet. Kopieren Sie den folgenden Code und führen Sie ihn in phpMyAdmin aus (stellen Sie sicher, dass Sie die 3 Variablen oben ändern … Ich habe sie so eingestellt, wie Sie sie meiner Meinung nach einstellen sollten, aber es könnte anders sein, wie Ihre Datenbank eingerichtet ist).
SET @prefix = "wp_";
SET @old = "127.0.0.1/wpSandbox";
SET @new = "127.0.0.1/wpSandbox2";
SET @sql1 = CONCAT('UPDATE ', @prefix, 'options SET option_value = REPLACE(option_value,?,?)');
SET @sql2 = CONCAT('UPDATE ', @prefix, 'posts SET guid = REPLACE(guid,?,?)');
SET @sql3 = CONCAT('UPDATE ', @prefix, 'posts SET post_content = REPLACE(post_content,?,?)');
PREPARE update1 FROM @sql1;
PREPARE update2 FROM @sql2;
PREPARE update3 FROM @sql3;
EXECUTE update1 USING @old, @new;
EXECUTE update2 USING @old, @new;
EXECUTE update3 USING @old, @new;
DEALLOCATE PREPARE update1;
DEALLOCATE PREPARE update2;
DEALLOCATE PREPARE update3;
Nur ein paar Informationen zu diesem Code / Gist … Ich verschiebe WordPress-Sites die ganze Zeit. Dies ist nur etwas SQL, das ich geschrieben habe, damit das Aktualisieren der Datenbank weniger Zeit in Anspruch nimmt und Sie sich keine Gedanken über das manuelle Aktualisieren von URLs machen müssen. Es aktualisiert automatisch die WP-Optionstabelle und die WP-Posts-Tabelle.
Danke für die Antwort. Nur das Setzen von WP_HOME und WP_SITEURL hat den Trick getan … weiß aber nicht genau warum 🙁
– Nikhil Khullar
30. Juli 2013 um 5:54 Uhr
Konsole
Das Umleitungsproblem liegt daran siteurl in Ihren ursprünglichen WordPress-Einstellungen. Fügen Sie diese Zeilen in sich hinzu wp-config.php. Möglicherweise müssen Sie die URL an Ihre Anforderungen anpassen.
update as_options set option_value=”{new_wp_url}” where option_name=”siteurl”; update as_options set option_value=”{new_wp_url}” where option_name=”home”; UPDATE as_posts SET guid = REPLACE(guid, ‘{old_url}’, ‘{new_url}’) UPDATE as_posts SET post_content = REPLACE(post_content, ‘{old_url}’, ‘{new_url}’)
Unten ist die SQL-Abfrage, die Sie ausführen können, um die Werte in neue URLs für WordPress-Sites zu ändern.
UPDATE {wp_table_prefix}_options set option_value="{new_url}" where option_name="siteurl";
UPDATE {wp_table_prefix}_options set option_value="{new_url}" where option_name="home";
UPDATE {wp_table_prefix}_posts SET guid = REPLACE(guid, '{old_url}', '{new_url}');
UPDATE {wp_table_prefix}_posts SET post_content = REPLACE(post_content, '{old_url}', '{new_url}');
Ersetzen {wp_table_prefix} mit Ihrem WordPress-Tabellenpräfix.
Ersetzen {{neue_url}} mit Ihrer neuen WordPress-Site-URL.
Ersetzen {{old_url}} mit Ihrer alten WordPress-Site-URL. In diesem Fall 127.0.0.1/wpSandbox
Danach können Sie die SQL-Abfrage ausführen und unter Ihrer neuen WordPress-URL auf die neue WordPress-Site zugreifen. Und alles sollte gut funktionieren.
Ich habe SQL häufig verwendet und hat bisher für mich funktioniert. Wenn Sie ein Problem haben, lassen Sie es uns wissen. Grundsätzlich entsprechen die obigen SQL-Abfragen dem oben bereitgestellten @doitlikejustin-Code.
10551300cookie-checkLokaler WordPress-Klon funktioniert nicht richtigyes
Gehen Sie zu Ihrer Datenbankverwaltungsschnittstelle und ändern Sie für Ihre wpSandbox2-Einstellungen die URLs, um dies widerzuspiegeln, da Sie die Datenbank so kopiert haben, wie sie immer noch auf wpSandbox/ verweist.
– Hanky Panky
30. Juli 2013 um 4:34 Uhr
Hallo, Sie müssen die Siteurl und das Home in der Tabelle ‘wp_options’ in Ihrer Datenbank ändern, die für andere 2 Kopien Ihrer WP erstellt wurde.
– Jothi Kannan
30. Juli 2013 um 4:45 Uhr