0

wordpress ウェブサイトに言語を追加しようとしています。このために、「ドメインごと」モードで「qTranslate X」プラグインを使用しています。

次のように動作するはずです。

http://domain.com - main language
http://en.domain.com - english
etc...

必要なのは、すべてのリクエストをサブドメインからメイン ドメインにリダイレクトすることです。残りはプラグインによって行われます。

Example:
http://en.domain.com/category/article
should be redirected to
http://domain.com/category/article

メインの .htaccess WP ファイルを変更しました

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^en\.domain\.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

しかし、残念ながら、それはホームページ (つまりhttp://en.domain.com ) でしか機能しません。http://en.domain.com/category/articleと入力すると、404 Not Found ページが表示されます。

助けてくれてありがとう!

4

2 に答える 2

0

私はグーグルで何時間も費やしてきましたが、最終的に答えを見つけました。私の問題は、「qTranslate X」プラグインを調整して、多言語 Web サイトを提供することだったことを思い出してください。だから、これを達成するために私がしたことは次のとおりです。

[設定] -> [パーマリンク] で、「カスタム構造」にチェックを入れています。 http://domain.com/%category%/%postname%

qTranslate -> 「詳細設定」 -> URL 変更モード: ドメインごとのモードを使用します。メイン言語に「domain.com」、「en.domain.com」-英語などを設定しました。

パーマリンク カスタム構造のデフォルトの WordPress .htaccess コードを変更する必要はありません。「qTranslate X」プラグインと完全に連携します。したがって、.htaccess ファイルが次のようになっていることを確認してください。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

実行する必要がある唯一のことは、サブドメインへのリクエストがメイン ドメインへのリクエストとして処理されることを確認することです。つまり、サブドメイン フォルダーは、WordPress がインストールされているフォルダーを指している必要があります。異なるホスティングでは、異なる方法で実現できます。私に関しては、ドメイン設定で、「存在しないサブドメインからのすべてのリクエストを処理する」オプションを見つけました。そのため、サブドメインを作成する必要さえありませんでした。たった1つのチェックボックス。これを行う方法がわからない場合は、ホスティング サポート サービスに連絡して、サポートを依頼してください。

于 2015-07-26T14:43:49.597 に答える