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

ThinkPHP 禁止百度等搜尋引擎轉碼:兩種實用方法

     編輯:PHP 綜合知識

問題背景

行動裝置瀏覽網站時,搜尋引擎(特別是百度)常會對網頁進行「轉碼」以適應行動端顯示。但轉碼後常導致版面錯亂、內容錯位,影響使用者體驗。

方法一:HTTP Response Header 明確聲明

在 config.php 中設定快取控制:

'HTTP_CACHE_CONTROL' => 'private,no-transform', // 網頁快取控制

此設定會在 HTTP 回應標頭中加入 Cache-Control: private, no-transform,指示代理伺服器/搜尋引擎不得轉換內容。

方法二:Meta 標籤聲明

在頁面 <head> 區塊加入:

<head>
  <meta http-equiv="Cache-Control" content="no-transform"/>
</head>

同樣傳達「禁止轉碼」指令,適用於無法修改伺服器設定的虛擬主機環境。

原理說明

  • no-transform 指令明確告知中間節點(Proxy、CDN、搜尋引擎轉碼服務):不得修改回應內容的編碼、格式、壓縮等
  • 百度、Google 等主流搜尋引擎均支援此標準
  • 配合 private 可進一步防止公共快取

驗證方式

  1. 瀏覽器開發者工具 → Network → 檢查 Response Headers 是否包含 Cache-Control: private, no-transform
  2. 2. 使用 curl -I 檢查標頭 3. 在百度搜尋結果點擊「轉碼版」對比原版差異

適用範圍

雖以 ThinkPHP 為例,但此兩方法適用於所有 PHP 框架甚至靜態網站,屬通用 Web 標準解法。

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