Wenn WPML Sie keine Sprachverzeichnisse auswählen lässt (z. B. http://example.com/es/ für Spanisch), liegt das daran, dass es versucht hat, auf diese URL zuzugreifen und eine Fehlermeldung erhalten hat.

Dies müssen Sie einrichten, damit Sprachverzeichnisse funktionieren:

  1. Aktiveren Sie URL-Überschreiben (dazu kommen wir gleich).

Wie Sie sehen, müssen Sie keine physischen Verzeichnisse auf dem Server erstellen. Sprachen in Verzeichnissen sind durch das Umschreiben der URL möglich.

Wie WPML feststellt, ob es Sprachen in Verzeichnissen aktivieren kann

WPML versucht auf einen Testbefehl zuzugreifen, der überprüft, ob Sprachen in Verzeichnissen funktionieren. Dieser Testbefehl lautet:

yourdomain/LANGUAGE/?____icl_validate_domain=1

Wenn wir zum Beispiel überprüfen möchten, ob Spanisch für unsere eigene Domain aktiviert ist (wpml.org) würden wir folgenden Befehl ausgeben:

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

Wenn Sie diesen Befehl starten, erhalten Sie eine Seite, die leer aussieht. Ihr Inhalt (den Sie sehen können, wenn Sie sich die Quelldatei der Seite ansehen) ist:

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

Das bedeutet, dass WordPress den Zugriff auf diese URL-Struktur erlaubt. Wenn dieser Befehl funktioniert, wird WPML die Benutzung von Sprachen nach Verzeichnissen ermöglichen. Ansonsten erhalten Sie eine Art Meldung, die (irgendwie) erklärt, was das Problem ist.

Wenn WPML eine Seite mit einer Fehlermeldung sieht, deaktiviert es diese Funktion und zeigt diese rote Fehlermeldung an, möglicherweise mit Erklärungen, warum sie deaktiviert ist.

Wichtig: WPML greift auf die Validierungs-URL zu, indem es einen fopen-Befehl für diese ausführt. Normalerweise ist dies ähnlich dem, das Browser tun, aber nicht dasselbe. Achten Sie darauf, dass fopen auf Ihrem Server aktiviert ist. Sie können Ihrer PHP-Konfigurationsdatei Folgendes hinzufügen, um eine Blockierung zu vermeiden:

SecFilterEngine Off

Stellen Sie sicher, dass in WordPress das Überschreiben von URLs aktiviert ist.

Um das Überschreiben von URLs zu aktivieren, wird WordPress eine Datei namens .htaccess in dem Ordner, in dem es installiert ist, erstellen. WordPress wird diese Datei erstellen, wenn Sie andere als die voreingestellten 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 den Inhalt und speichern Sie.

Was bedeutet es, URLs überschreiben zu dürfen?

Das Überschreiben von URLs ist ein komplizierter Mechanismus, der sehr häufig von WordPress benutzt wird. Damit es funktioniert, muss der Webserver (normalerweise Apache), in der Lage sein, URLs zu überschreiben und WordPress muss die Überschreibe-Logik verwalten dürfen.

In Apache übernimmt mod-rewrite das URL-Überschreiben. Es ist ein hübsches Standardmodul, das als Voreinstellung aktiviert ist. Wenn Sie Apache benutzen und Sprachverzeichnisse nicht aktivieren können, überprüfen Sie, ob mod-rewrite für Ihre Seite aktiv ist. Wenn Sie nicht genau wissen, wie das geht, schreiben Sie Ihrem Hosting-Anbieter eine E-Mail. Sie können diesen Text verwenden:

Hallo!

Für ein WordPress-Plugin, das ich benutzen möchten, muss das mod-rewrite-Modul aktiviert sein. Können Sie dies bitte für mich überprüfen und mir sagen, ob mod-rewrite für meine Webseite aktiviert ist? http://example.com

Angenommen, es ist aktiviert, muss WordPress jetzt die URL-Schreibregeln steuern dürfen. Dazu muss WordPress in den Ordner schreiben dürfen, in dem es installiert ist.

Noch einmal, wenn Sie Apache benutzen, finden Sie heraus, unter welchem Benutzer Apache läuft und gewähren Sie diesem Nutzer Lese- und Schreibzugang zum Ordner, in dem WordPress installiert ist. Sie können das mit Hilfe Ihres FTP-Programms machen, über Shell oder per E-Mail.

Hallo noch mal,

Können Sie mir noch einen Gefallen tun? Ich habe WordPress in dieses Verzeichnis installiert:

YOUR_WP_INSTALL_DIRECTORY

Können Sie die Dateizugriffe für das gesamte Verzeichnis (rekursiv) so ändern, dass der Webserver hier sowohl lesen als auch schreiben kann? WordPress muss in einige der Dateien beschreiben können.

Überprüfen Sie es jetzt noch einmal.

Wenn es immer noch nicht funktioniert, können Sie gern im Forum vorbei schauen und eine neue Frage öffnen.

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