308 Permanent Redirect 表示目標資源已有新的永久網址(列在 Location 中),用戶端必須在不改變方法或主體的情況下,向該網址重送要求。它是 301 Moved Permanently 保留要求方法的對應版本,正如 307 之於 302。它最早在 RFC 7238(2014 年)中提出,RFC 7538(2015 年)將其列為正式標準,現已納入 RFC 9110。
與 301 一樣,308 可依經驗法則快取,因此瀏覽器會記住它,下次直接前往新網址。目前所有的瀏覽器、主要爬蟲和常見的 HTTP 程式庫都支援 308;只有非常老舊的用戶端不支援,例如 Windows 7 上的 Internet Explorer。
回應範例
HTTP
HTTP/1.1 308 Permanent Redirect
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: /docs/
Content-Type: text/plain; charset=utf-8
Content-Length: 21
Redirecting to /docs/ SEO 與重新導向檢查
Google 對 308 的處理方式與 301 相同:視為「目標網址就是新標準網址」的強烈訊號,因此新網址會在搜尋結果中取代舊網址。必須保留要求方法時(API、表單端點),或您的平台預設使用 308 時,請使用 308;一般的網頁搬移,301 與 308 對 SEO 的效果完全相同。
Next.js 和 Vercel 等平台會將 308 用於永久重新導向與結尾斜線正規化。301 重新導向檢查會顯示每個躍點是永久(301 或 308)還是暫時重新導向,網址結尾斜線檢查則會測試網址的兩種版本。
常見原因與使用情境
- 框架的永久重新導向,例如 Next.js 中的
permanent: true、Vercel 重新導向規則或 CDN 規則。 - 需要保留要求方法的結尾斜線或大小寫正規化。
- API 端點已永久搬移,但用戶端仍持續向舊網址傳送
POST或PUT。 - 部分平台與代理伺服器以 308 將 HTTP 升級為 HTTPS。