WPML

Wenn WPML es Ihnen nicht erlaubt, Sprachverzeichnisse auszuwählen (z. B. http://example.com/es/ für Spanisch), liegt das daran, dass es versucht hat, auf diese URL zuzugreifen, und einen Fehler erhalten hat. Hier ist, was Sie überprüfen können, um sicherzustellen, dass Sprachverzeichnisse funktionieren.


Folgendes müssen Sie einrichten, damit Sprachverzeichnisse funktionieren:

  1. Aktivieren Sie das URL-Rewriting.

  2. Erlauben Sie WordPress Lese- und Schreibzugriff auf Ordner.

  3. Stellen Sie sicher, dass Ihre Website eine „sprechende“ Permalink-Struktur verwendet.

Wie Sie sehen, ist es nicht erforderlich, physische Verzeichnisse auf dem Server zu erstellen. Die Wahl von Sprachen in Verzeichnissen wird durch das Umschreiben der URL ermöglicht.

Wie WPML feststellt, ob es Sprachen in Verzeichnissen aktivieren kann


WPML versucht, auf einen Testaufruf zuzugreifen, der prüft, ob Sprachen in Verzeichnissen funktionieren. Dieser Testaufruf lautet:
yourdomain/LANGUAGE/?____icl_validate_domain=1

Um beispielsweise zu prüfen, ob Spanisch für unsere eigene Domain (wpml.org) aktiviert ist, würden wir die folgende URL in unserem Browser aufrufen:

http://wpml.org/es/?____icl_validate_domain=1

Wenn Sie dies tun, erhalten Sie eine leer aussehende Seite. Klicken Sie mit der rechten Maustaste auf die Seite und wählen Sie Seitenquelltext anzeigen. Sie sollten den folgenden Inhalt sehen:

<!--http://wpml.org-->

Dies teilt WPML mit, dass WordPress den Zugriff auf diese URL-Struktur erlaubt. Wenn der Aufruf erfolgreich ist, erlaubt WPML die Verwendung von Sprachen in Verzeichnissen. Andernfalls erhalten Sie eine Meldung, die (in etwa) erklärt, was das Problem ist.

Wenn WPML eine Fehlerseite sieht, deaktiviert es diese Funktion und gibt diese rote Fehlermeldung aus, mit möglichen Erklärungen, warum sie deaktiviert ist.

Wichtig: WPML greift auf die Validierungs-URL zu, indem es einen fopen-Aufruf an sie durchführt. Normalerweise ist dies ähnlich wie das, was Browser tun, aber nicht dasselbe. Stellen Sie sicher, dass fopen auf Ihrem Server aktiviert ist. Sie können Folgendes zu Ihrer PHP-Konfigurationsdatei hinzufügen, um sicherzustellen, dass es nicht blockiert wird:

SecFilterEngine Off

Stellen Sie sicher, dass WordPress das URL-Rewriting aktiviert


Um das URL-Rewriting zu aktivieren, erstellt WordPress eine Datei namens .htaccess in dem Ordner, in dem es installiert ist. WordPress erstellt diese Datei, wenn Sie etwas anderes als die Standard-URLs verwenden. Diese Datei sollte Folgendes enthalten:
# BEGIN WordPress

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Wenn sie nicht existiert, versuchen Sie, sie zu erstellen. Wenn sie existiert, aber leer ist, kopieren Sie diese Inhalte und speichern Sie sie.

Was bedeutet es, URLs umschreiben zu können?


Das URL-Rewriting ist ein komplexer Mechanismus, der von WordPress intensiv genutzt wird. Damit dies funktioniert, muss der Webserver (normalerweise Apache) in der Lage sein, URLs umzuschreiben, und WordPress muss es erlaubt sein, die Rewrite-Logik zu verwalten.

In Apache übernimmt mod-rewrite das URL-Rewriting. Es ist ein ziemliches Standardmodul, das standardmäßig aktiviert ist. Wenn Sie Apache verwenden und Sprachverzeichnisse nicht aktivieren können, prüfen Sie, ob mod-rewrite für Ihre Website aktiv ist. Wenn Sie sich nicht sicher sind, wie das geht, senden Sie eine E-Mail an Ihren Hosting-Anbieter. Sie können Folgendes verwenden:

Hallo!

Ein WordPress-Plugin, das ich verwenden möchte, erfordert, dass das Modul mod-rewrite aktiviert ist. Können Sie bitte für mich prüfen und mir mitteilen, ob mod-rewrite für meine Website aktiviert ist? http://example.com


Vorausgesetzt, es ist aktiviert, muss WordPress nun in der Lage sein, die URL-Schreibregeln zu steuern. Damit dies geschehen kann, muss WordPress in den Ordner schreiben können, in dem es installiert ist.

Stellen Sie sicher, dass WordPress Lese- und Schreibzugriff auf Ordner hat


Auch hier gilt: Wenn Sie Apache verwenden, finden Sie heraus, unter welchem Benutzer Apache läuft, und erlauben Sie diesem Benutzer den Lese- und Schreibzugriff auf den Ordner, in dem WordPress installiert ist. Sie können dies mit Ihrem FTP-Programm, über die Shell oder per E-Mail tun.
Hallo nochmal,

ich brauche noch einen Gefallen. Ich habe WordPress in diesem Verzeichnis installiert:

YOUR_WP_INSTALL_DIRECTORY

Können Sie die Dateiberechtigungen für das gesamte Verzeichnis (rekursiv) so ändern, dass der Webserver dort sowohl lesen als auch schreiben kann? WordPress muss in der Lage sein, in einige der Dateien zu schreiben.


Prüfen Sie nun erneut.
Ihre Website muss eine „sprechende“ Permalink-Struktur verwenden. Sie können die Permalink-Struktur Ihrer Website in Ihren WordPress-Einstellungen ändern.

Fehlerbehebung


Wenn Sie ein CDN wie Cloudflare verwenden, kann es verhindern, dass Sprachen in Verzeichnissen korrekt funktionieren, indem es HTML-Kommentare entfernt. Infolgedessen sehen Sie möglicherweise einen falsch-positiven Fehler, der eine Warnung im Zusammenhang mit ?____icl_validate_domain=1 anzeigt, ohne dass es Probleme im Frontend gibt.

Benötigen Sie Hilfe?


Wenn dies immer noch nicht funktioniert, stellen Sie bitte eine Support-Anfrage im WPML-Support.

Geschrieben von Amir · Zuletzt aktualisiert am 18. Oktober 2024