webentwicklung-frage-antwort-db.com.de

Sprachcode für mehrere Standorte als Unterverzeichnis

Ich habe WordPress im Unterverzeichnis /de installiert und Multisite-Funktionen aktiviert. Das Hauptblog hat die URL/den Pfad: mysite.de/de

Jetzt möchte ich eine zweite Site für die englische Sprache mit der folgenden URL hinzufügen: mysite.de/en

Nachdem ich die Site hinzugefügt hatte, wurde das Unterverzeichnis für die englische Site wie folgt festgelegt: mysite.de/de/en

Irgendwelche Ideen, wie ich diese Website-URLs bekommen kann?

mysite.de/de
mysite.de/en
mysite.de/fr
1
user49454

Hier ist eine richtige Lösung für mehrere Standorte:

Installieren Sie WordPress direkt im Stammverzeichnis Ihrer Domain mysite.de. Richten Sie danach eine Multisite ein und wählen Sie die Option Subdomain (Ja, Subdomain! Sie ist weitaus flexibler und kann auch mit Unterverzeichnissen verwendet werden).

WordPress fordert Sie auf, wp-config.php und .htaccess zu aktualisieren. Fügen Sie dem wp-config.php die folgenden Konstanten hinzu (zusätzlich zu der von WP bereitgestellten)

define( "COOKIEDOMAIN", "" );
define( "ADMIN_COOKIE_PATH", "/" );
define( 'SITECOOKIEPATH', '/' );

Verwenden Sie nicht den von WordPress bereitgestellten .htaccess-Code, sondern statt diesen:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Gehen Sie zum Netzwerkadministrationsmenü und erstellen Sie zwei Sites, eine für jede Sprache. Sie werden nach der Site-Adresse (Subdomain) gefragt. Geben Sie einfach de für die deutsche Seite und en für die englische Seite ein. Nachdem die Site erstellt wurde, bearbeiten Sie sie direkt. Jetzt können Sie die vollständige URL bearbeiten. Stellen Sie einfach http://mysite.de/de und http://mysite.de/en ein. Tun Sie dies auch für die französische Site.

Jetzt haben Sie vier Standorte in Ihrem Netzwerk, wahrscheinlich mit den folgenden IDs:

1 mysite.de/
2 mysite.de/de
3 mysite.de/en
4 mysite.de/fr

Da Sie den ersten nicht benötigen, können Sie ihn einfach leer lassen. Du benutzt es einfach nicht. Verwalten Sie Ihre Inhalte auf den anderen drei Websites.

Um Anfragen an mysite.de/ umzuleiten, fügen Sie Ihrem .htaccess über den anderen eine weitere Zeile hinzu:

RedirectMatch permanent "^/$" http://mysite.de/de

Sie haben jetzt ein voll funktionsfähiges Netzwerk von zwei aktiven Websites für Ihre Inhalte.

Abschließend eine persönliche Empfehlung: Es gibt ein kostenloses Plugin namens Multilingual Press , das dieses Konzept einer mehrsprachigen Einrichtung in einem Netzwerk unterstützt. Offenlegung: Ich habe zuvor an diesem Plugin mitgewirkt und für eine Firma gearbeitet, die dieses Plugin entwickelt.

3
David

Es wäre viel einfacher, das Blog mit einem guten WordPress-Übersetzungs-Plugin zu pflegen.

WPML ( http://wpml.org ) ist mein Lieblings-Plugin für diese Aufgabe. Wenn Sie lieber nichts bezahlen möchten , ist QTranslate ebenfalls eine gute Option.

Mit beiden Plugins können Sie Subdomains (de.meinesite.de) oder Sprachordner (mysite.de) anlegen.

Viel Glück!

0
Sam