Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Knowledge Network. Author und Blogger zu den Themen, Tutorials für Linux und Open Source.

WordPress URL ändern

Website URL und Links in der WordPress Datenbank ändern

WordPress Umstellungen und die Migration erfordern mehrere Schritte zur Anpassung der URL. Das festlegen der WordPress-Adresse wird unter Einstellungen -> Allgemein bei WordPress-Adresse (URL) und Webseite-Adresse (URL) vorgenommen. Bei URL Änderungen sind weitere Anpassungen vorzunehmen.

WordPress-Adresse (URL) und Webseite-Adresse (URL)

Bei der Migration kann es vorkommen, dass der Zugang zum WP-Admin versperrt ist, nachdem der A Record oder CNAME im DNS, und die Virtualhost Konfiguration beim Webserver bereits geändert wurde. Auch bei der Umstellung der Seite von Dev auf Live, oder beim wechsel von HTTP auf HTTPS muss die URL geändert werden. An dieser stelle kann die Webseiten-Adresse und die Links im Content mit phpMyAdmin geändert werden.

WordPress-Adresse (URL) und Webseite-Adresse (URL) in phpMyAdmin ändern

Um die WordPress-Adresse und Webseite-Adresse in phpMyAdmin zu ändern, öffnet man die Datenbank und geht auf Anzeigen, im nun geöffneten Tree wählt man die Tabelle wp_options, links sucht man in der Spalte option_name nach siteurl und home, hier mit Bearbeiten den Wert im Feld option_value mit der neuen URL ändern und mit OK bestätigen.

Abbildung: phpMyAdmin Anzeigen siteurl / home

Hinweis: Der WordPress Standard Datenbank Präfix ist wp_, hier wurde der Präfix zuvor auf wp_futbg5 geändert.

Möchte man die Datenbank nach Text durchsuchen, geht man nach dem öffnen der Datenbank auf Suchen und trägt das Suchargument eingebunden zwischen %-Zeichen ein. In diesem Beispiel soll die Entwickler Umgebung zur Live Seite geändert werden, wobei dev.example.tld die Entwickler URL, und www.example.tld die Live URL der Seite ist.

Bei In der/den Tabelle(n) klickt man auf Alle auswählen, anschlissend auf OK. In der Regel sind die treffer in den Tabellen wp_posts und wp_postmeta, jeweils im Feld post_content zu finden.

Mit phpMyAdmin im Abschnitt SQL kann die URL mit folgendem SQL-Befehl durch Suchen Ersetzen in den Tabellen geändert werden.

Die zu ändernden URLs in folgenden Tabellen, die URL www.example.tld entsprechend erstetzen. Die UPDATE Befehle entsprechend mit Copy & Paste in der SQL-Abfrage ausführen.

UPDATE wp_posts
SET guid = REPLACE(
    guid,
    "https://dev.example.tld",
    "https://www.example.tld"
);

UPDATE wp_posts
SET post_content = REPLACE(
    post_content,
    "https://dev.example.tld",
    "https://www.example.tld"
);

UPDATE wp_posts
SET post_excerpt = REPLACE(
    post_excerpt,
    "https://dev.example.tld",
    "https://www.example.tld"
);

UPDATE wp_options
SET option_value = REPLACE(
    option_value,
    "https://dev.example.tld",
    "https://www.example.tld"
);

UPDATE wp_postmeta
SET meta_value = REPLACE(
    meta_value,
    "https://dev.example.tld",
    "https://www.example.tld"
);

UPDATE wp_links
SET link_url = REPLACE(
    link_url,
    "https://dev.example.tld",
    "https://www.example.tld"
);

Werden Plugins verwendet, die Tabellen mit URLs beinhalten, dann muss der Inhat hier ebefalls geändert werden.

UPDATE tabellenname
SET feld_mit_urls = REPLACE(
    feld_mit_urls,
    "https://dev.example.tld",
    "https://www.example.tld"
);

Anstelle des Platzhalter tabellenname und feld_mit_urls den tatsächlichen Tabellenname eintragen, die betreffenden Plugins mit den Tabellen können wie oben beschrieben, mit Textsuche in phpMyAdmin gefunden werden.

Eines der Plugins das Tabellen mit URLs beinhalt ist das Newsletter Plugin, in der Tabelle wp_newsletter sind URls im Feld http_referer.

UPDATE wp_newsletter
SET http_referer = REPLACE(
    http_referer,
    "https://dev.example.tld",
    "https://www.example.tld"
);

Fazit

In diesem Tutorial werden die Schritte zur Anpassung der URLs und Links nach einer WordPress Umstellungen oder einer Migration gezeigt. Es können abhängig der installierten Plugins weitere Tabellen hinzukommen, die geändert werden müssen.

KiTTY Terminal Character Set Translation

PuTTY und KiTTY Character Set Translation der Terminal Zeichenkodierung

Wird im Terminal die Ausgabe von Linux Shell Commands nicht wie gewünscht dargestellt, liegt es an der Übersetzung der Zeichen Codepage des Terminals, oder es liegt ein nicht korrektes Unicode Systemgebietsschema auf dem Host vor. Der Beitrag zeigt die Einstellung der Unicode Zeichen Tabelle auf dem Linux Host, und die Character Set Translation der Zeichenkodierung beim Terminal Client PuTTY und KiTTY.

Immer mehr Linux-Systeme nutzen UTF-8 statt ISO-8859 für die Zeichenkodierung.

PuTTY unter Windows ist per Standard mit der Zeichenkodierung UFT-8 für die Character Set Translation korrekt eingestellt.

Abbildung: PuTTY Character Set Translation

KiTTY der ebenso freie Clone von PuTTY, hat Standardmässig bei Character Set Translation die Zeichenkodierung ISO-8859-1:1998 (latin-1, West Europa) voreingestellt.

Abbildung: KiTTY Character Set Translation

Die Zeichenkodierung sollte bei KiTTY auf UTF-8 geändert werden. Die gespeicherten Host werden im Abschnitt Session aus der Liste Saved Sessions mit Load geöffnet und angepasst.

Beim Linux-System wird die Zeichenkodierung mit locale abgefragt.

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"ddd
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Die Verfügbaren Locales ausgeben.

$ locale -a

In der Datei /etc/default/locale sind die Default Einstellungen.

$ cat /etc/default/locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_TIME=en_GB.UTF-8

Das Systemgebietsschema wird unter Debian 10 (Buster) mit dpkg-reconfigure locales festgelegt. UTF-8 sollte der Standard sein.

Abbildung: dpkg-reconfigure locales

Bei CentOS/RHEL Linux wird das Systemgebietsschema wie folgt festgelegt.

$ sudo localectl set-locale LANG=de_DE.UTF-8

Globale Gebietsschemaeinstellungen findet man in den Dateien.

  • /etc/default/locale – Ubuntu/Debian
  • /etc/locale.conf – CentOS/RHEL