WordPressを/de
というサブディレクトリにインストールし、マルチサイト機能を有効にしました。メインブログのURL /パスはmysite.de/de
です。
今度は私は次のurlの英語のための第2場所を加えたいと思う:mysite.de/en
しかし、私がサイトを追加した後、英語サイトのサブディレクトリは次のように設定されました:mysite.de/de/en
これらのサイトのURLを取得する方法を教えてください。
mysite.de/de
mysite.de/en
mysite.de/fr
これが適切なマルチサイトソリューションです。
ドメインmysite.de
のルートに直接WordPress をインストールしてください。その後、マルチサイトをセットアップして subdomain オプションを選択しました(はい、サブドメインです。これははるかに柔軟で、サブディレクトリでも使用できます)。
WordPressはwp-config.php
と.htaccess
を更新するようにあなたに頼みます。 wp-config.php
に(WPによって提供されるものに加えて)次の定数を追加してください
define( "COOKIEDOMAIN", "" );
define( "ADMIN_COOKIE_PATH", "/" );
define( 'SITECOOKIEPATH', '/' );
WordPressで提供されている.htaccessコードを使用せず、代わりに/を使用してください。
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]
ネットワーク管理メニューに移動して、言語ごとに1つずつ、2つのサイトを作成します。サイトアドレス(サブドメイン)を尋ねられます。ドイツ語のサイトにはde
を、英語のサイトにはen
を入力するだけです。サイトが作成されたら、それを直接編集します。 これでURL全体を編集できます。 http://mysite.de/de
とhttp://mysite.de/en
に設定するだけです。フランスのサイトでも同様です。
これで、ネットワーク内に4つのサイトがあり、おそらく以下のIDがあります。
1 mysite.de/
2 mysite.de/de
3 mysite.de/en
4 mysite.de/fr
最初のものは必要ないので、空のままにしておくことができます。あなたはそれを使わないだけです。他のサイトであなたのコンテンツを管理してください。
リクエストをmysite.de/
にリダイレクトするには、.htaccess
の上に他の行を追加します。
RedirectMatch permanent "^/$" http://mysite.de/de
これで、コンテンツ用に2つのアクティブサイトの完全機能ネットワークができました。
最後に個人的な推奨事項:ネットワークでの多言語設定のこの概念をサポートする Multilingual Press という無料のプラグインがあります。開示:私は以前このプラグインに貢献し、このプラグインを開発している会社で働いていました。
良いWordPressの翻訳プラグインを使ってブログを管理するほうがはるかに簡単です。
WPML( http://wpml.org )が私のお気に入りのプラグインです。あなたが何も払わないことを好むならば QTranslate も良い選択肢です。
どちらのプラグインでも、サブドメイン(en.mysite.de)または言語フォルダ(mysite.de/en)を持つことができます。
頑張って!