首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 根據瀏覽器語言自動跳轉至對應語言頁面

     編輯:PHP 綜合知識

實現多語言網站自動導向的 PHP 與 JavaScript 方案

當訪客瀏覽網站時,若能根據其瀏覽器語言偏好自動導向對應語言版本(如中文用戶進入中文站、海外用戶導向英文站),將大幅提升用戶體驗。本文介紹兩種常見實作方式:伺服端 PHP 判斷與客戶端 JavaScript 判斷。

方法一:PHP 伺服端判斷(推薦)

在頁面 <head> 區塊最上方放入以下 PHP 程式碼,可在輸出任何 HTML 內容前完成導向,效能最佳:

<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5);
if ($lang === 'zh-cn' || $lang === 'zh-tw') {
    header('Location: /zh/index.php');
} else {
    header('Location: /en/index.php');
}
exit;
?>

說明:

  • 使用 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 取得瀏覽器語言標頭(如 zh-CN,zh;q=0.9,en;q=0.8)。
  • 取前 5 字元即可辨識 zh-cn、zh-tw、en-us 等常見代碼。
  • 採用 header('Location: ...') 導向,避免輸出多餘內容,符合 HTTP 標準。

方法二:JavaScript 客戶端判斷(備援方案)

若無法使用 PHP(如靜態託管),可在 <head> 內嵌入以下腳本:

<script>
const lang = (navigator.language || navigator.userLanguage).substr(0, 2).toLowerCase();
const target = {
    'zh': '/zh/index.html',
    'en': '/en/index.html',
    'ja': '/ja/index.html',
    'de': '/de/index.html'
}[lang] || '/en/index.html'; // 預設英文
window.location.replace(target);
</script>

優缺點比較:

方案優點缺點
PHP導向前無畫面閃爍、SEO 友善、可攜帶 Session/資料庫偏好需伺服端支援 PHP
JavaScript純前端、靜態網站也能用會先載入原頁面再跳轉、搜尋引擎可能抓取錯誤語言版

進階建議

  1. 提供手動切換:在頁面頂部放置語言選單,並將用戶選擇寫入 Cookie/Session,優先級高於瀏覽器語言。
  2. 支援區域變體:zh-CN(簡體)、zh-TW(繁體)、zh-HK(香港)可分別對應不同翻譯。
  3. 避免無限迴圈:導向目標頁面時務必排除語言判斷邏輯,或在目標頁加入 ?lang=zh 參數供程式識別。

採用 PHP 方案為主、JavaScript 為輔,即可建立流暢的多語言進站體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved