🚀 サイト構築が難しい?手取り足取りご案内します——「WordPressサイト構築伴走」サービスを詳しく見る →

WordPressでブラウザの言語に基づいてURLを自動的にリダイレクトする方法

多くのWordPressを使用して外国貿易向け独立サイトを構築している企業は、例えば英語と中国語など、複数言語のサイトを作成しています。同時に、一部の外国貿易向けサイトの管理者は、自社のサイトが国内ユーザーにアクセスされることを望まず、国内ユーザーを別のURLにリダイレクトさせたいと考えています。ブラウザの言語を利用してユーザー環境を判断し、自動的に異なるURLにリダイレクトすることができます。具体的な方法は以下の通りです: あなたのサイトテーマのヘッダーファイル(header.php)に以下のコードを挿入します。
<?php
// 定义变量 lc
$lc = ""; 
// 检查是否已经设置过 HTTP头Accept-Language信息变量
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
// 这里截取语言编码前两位来判断,如果是中文,转向百度
if($lc == "zh"){
header("location: https://www.baidu.com"); 
exit();
}
?>
多くの方が初心者で、コードを編集する方法がわからないことを考慮し、Code Snippetsプラグインをインストールすることをお勧めします。インストール後、プラグインを有効化し、「Example JavaScript snippet」というスニペットを編集し、上記のコードを「/* write your JavaScript code here */」の下に挿入します。その後、保存すればコードが有効化されます。上記のコードでは、ブラジル語、フランス語、ポルトガル語など、さらに多くの言語を追加し、それぞれ異なるURLにリダイレクトさせることができます。複数言語のリダイレクトコードは以下の通りです:
<?php
$lc = ""; 
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if($lc == "pt"){
header("location: https://blog.naibabiji.com/"); 
}
else if($lc == "fr"){
header("location: https://blog.naibabiji.com/skill/language-redirection.html"); 
exit();
}
?>
上記の方法は料神記事、以下は一般的なブラウザ言語コードです。
afアフリカーンス語sqアルバニア語
ar-saアラビア語(サウジアラビア)ar-iqアラビア語(イラク)
ar-egアラビア語(エジプト)ar-lyアラビア語(リビア)
ar-dzアラビア語(アルジェリア)ar-maアラビア語(モロッコ)
ar-tnアラビア語(チュニジア)ar-omアラビア語(オマーン)
ar-yeアラビア語(イエメン)ar-syアラビア語(シリア)
ar-joアラビア語(ヨルダン)ar-lbアラビア語(レバノン)
ar-kwアラビア語(クウェート)ar-aeアラビア語(アラブ首長国連邦)
ar-bhアラビア語(バーレーン)ar-qaアラビア語(カタール)
euバスク語bgブルガリア語
beベラルーシ語caカタルーニャ語
zh-tw中国語(台湾)zh-cn中国語(中華人民共和国)
zh-hk中国語(香港特別行政区)zh-sg中国語(シンガポール)
hrクロアチア語csチェコ語
daデンマーク語nlオランダ語(標準)
nl-beオランダ語(ベルギー)en英語
en-us英語(アメリカ)en-gb英語(イギリス)
en-au英語(オーストラリア)en-ca英語(カナダ)
en-nz英語(ニュージーランド)en-ie英語(アイルランド)
en-za英語(南アフリカ)en-jm英語(ジャマイカ)
en英語(カリブ海)en-bz英語(ベリーズ)
en-tt英語(トリニダード・トバゴ)etエストニア語
foフェロー語faペルシア語
fiフィンランド語frフランス語(標準)
fr-beフランス語(ベルギー)fr-caフランス語(カナダ)
fr-chフランス語(スイス)fr-luフランス語(ルクセンブルク)
gdゲール語(スコットランド)gaアイルランド語
deドイツ語(標準)de-chドイツ語(スイス)
de-atドイツ語(オーストリア)de-luドイツ語(ルクセンブルク)
de-liドイツ語(リヒテンシュタイン)elギリシャ語
heヘブライ語hiヒンディー語
huハンガリー語isアイスランド語
idインドネシア語itイタリア語(標準)
it-chイタリア語(スイス)ja日本語
ko韓国語ko韓国語(韓文)
lvラトビア語ltリトアニア語
mkマケドニア語(旧ユーゴスラビア・マケドニア)msマレー語
mtマルタ語noノルウェー語(ブークモール)
noノルウェー語(ニーノシュク)plポーランド語
pt-brポルトガル語(ブラジル)ptポルトガル語(ポルトガル)
rmロマンシュ語roルーマニア語
ro-moルーマニア語(モルドバ共和国)ruロシア語
ru-moロシア語(モルドバ共和国)szサーミ語(ラップ語)
srセルビア語(キリル文字)srセルビア語(ラテン文字)
skスロバキア語slスロベニア語
sbソルブ語esスペイン語(スペイン)
es-mxスペイン語(メキシコ)es-gtスペイン語(グアテマラ)
es-crスペイン語(コスタリカ)es-paスペイン語(パナマ)
es-doスペイン語(ドミニカ共和国)es-veスペイン語(ベネズエラ)
es-coスペイン語(コロンビア)es-peスペイン語(ペルー)
es-arスペイン語(アルゼンチン)es-ecスペイン語(エクアドル)
es-clスペイン語(チリ)es-uyスペイン語(ウルグアイ)
es-pyスペイン語(パラグアイ)es-boスペイン語(ボリビア)
es-svスペイン語(エルサルバドル)es-hnスペイン語(ホンジュラス)
es-niスペイン語(ニカラグア)es-prスペイン語(プエルトリコ)
sxスート語svスウェーデン語
sv-fiスウェーデン語(フィンランド)thタイ語
tsツォンガ語tnツワナ語
trトルコ語ukウクライナ語
urウルドゥー語veヴェンダ語
viベトナム語xhコサ語
jiイディッシュ語zuズールー語
複数言語の判定にはPHPのif...elseif....else文を使用しています
if (条件)
{
    if 条件成立时执行的代码;
}
elseif (条件)
{
    elseif 条件成立时执行的代码;
}
else
{
    条件不成立时执行的代码;
}
上記の方法以外にも、以下のコードを挿入することで、同様に異なる言語へのリダイレクトを実現できます。
<?php
$lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5);
if ($lan == "zh-cn")
print("<meta http-equiv='refresh' content = '0;URL = gb/index.htm'>");
else
print("<meta http-equiv='refresh' content = '0;URL = eng/index.htm'>");
また、翻訳プラグインを使用して多言語サイトを構築している場合、通常、プラグインの設定内で直接リダイレクト機能を有効にできます。コードを修正する以外にも、DNSレコードを設定し、IPアドレスによる位置情報を使用して直接リダイレクトする方法があり、一部の高度なDNSプロバイダーはこの機能をサポートしています。以前に書いた関連記事:

🚀 チュートリアルを見てもまだ迷っていますか?私が手取り足取りご案内しましょう

「WordPressサイト構築伴走」——ドメイン選び、ホスティング購入から、テーマのインストール、公開、投稿まで、すべてのステップで私が伴走します。遠回りせず、目標に直行できます。

👉 サイト構築伴走サービスを詳しく見る
🔒

コメントは終了しました

この記事のコメント機能は終了しています。ご質問がある場合は、他の方法でお問い合わせください。

×
二维码

QRコードをスキャンしてフォロー

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: