重新導向規則產生器

把來源與目標網址的 CSV 對應轉成 Nginx、Apache 和 Vercel 的 301/302 規則。

重新導向選項

狀態碼

產生的規則

準備完成。請匯入來源與目標網址對應 CSV。

你的 CSV 檔與產生的規則只留在瀏覽器中,不會上傳到 BroBroGo。

常見問題

CSV 檔應該怎麼寫?

第一列請使用 source 和 target 欄名,target 也可以寫成 destination。之後每列填入一個完整的 HTTP/HTTPS 來源 URL 或以 / 開頭的路徑,再填入完整或以 / 開頭的目標網址。

產生的是精確比對規則嗎?

是。Nginx 與 Apache 規則會鎖定完整來源路徑,Vercel 也使用同一路徑。完整來源 URL 的網域會被移除;來源若含查詢參數、片段或萬用模式會遭拒,因為三個環境的處理方式不同。

為什麼 Vercel 輸出使用 statusCode?

Vercel 的 permanent 開關對應 308,temporary 對應 307。使用 statusCode 才能精確輸出你選擇的 301 或 302。標準 Vercel 部署最多共有 2,048 條路由,因此本工具一次最多接受 2,000 條對應。

在進行網站遷移、重構網址結構或清理舊內容時,網頁管理員與開發人員經常需要配置大量的重新導向規則。手動撰寫這些規則不僅耗時,且極易出錯。「重新導向規則產生器」能將來源與目標網址的 CSV 對應表,快速轉換為 Nginx、Apache 或 Vercel 所需的精確配置代碼。

隱私與瀏覽器端處理

本工具在設計上完全保護您的數據隱私。您的 CSV 檔案與產生的規則只留在瀏覽器中,不會上傳到 BroBroGo。所有解析與規則生成工作均在您的本機瀏覽器內完成。

準備重新導向對應 CSV 檔案

要使用此產生器,您需要準備一個符合特定格式的 CSV 檔案。

格式規範與限制

  • 欄位名稱:CSV 的第一列必須為標題列,且必須包含 sourcetarget(或 destination)欄位。
  • 來源網址(Source URL):可以是一個完整的 HTTP 或 HTTPS 網址,或是以 / 開頭的根相對路徑。輸入時系統會自動移除來源網址中的主機名稱(Hostname)。
  • 目標網址(Destination URL):可以是一個完整的 HTTP 或 HTTPS 網址,或是以 / 開頭的根相對路徑。
  • 檔案大小限制:上傳的 CSV 檔案大小必須小於 5 MB。
  • 對應數量限制:單次最多支援處理 2,000 條對應關係。
  • 長度限制:單一 URL 的長度不得超過 2,048 個字元。

嚴格的精確比對規則

為了確保重新導向的準確性,本工具僅產生精確比對(Exact Match)的規則。

  • 無查詢參數與片段:來源網址中不得包含查詢字串(Query String,如 ?query=1)或錨點片段(Fragment,如 #section)。
  • 無萬用字元:來源網址不得包含萬用字元(Wildcard)或路由模式字元(如 *)。
  • 唯一性:每個來源路徑在 CSV 中只能出現一次,不可重複。

選擇狀態碼:301 永久與 302 暫時

在設定重新導向時,選擇正確的 HTTP 狀態碼對於搜尋引擎最佳化(SEO)至關重要:

  • 301 永久(301 Permanent):告訴搜尋引擎該網頁已永久移至新位置。搜尋引擎會將舊網址的權重(Link Juice)轉移至新網址,這是網站遷移與網址重構時最常用的設定。
  • 302 暫時(302 Temporary):表示網頁僅暫時移至新位置,搜尋引擎不會轉移權重,適用於短期活動或系統維護。

支援的伺服器執行環境

不同 Web 伺服器與託管平台處理重新導向的語法各有不同。本工具支援以下三種主流環境:

Nginx

Nginx 規則會被錨定到精確的來源路徑。產生器會輸出精確比對的 rewritereturn 指令,確保只有完全符合該路徑的請求才會觸發重新導向。

Apache

對於 Apache 伺服器,產生器會輸出適用於 .htaccess 檔案的 RedirectRewriteRule 指令。這些規則同樣會鎖定完整的來源路徑,進行精確匹配。

Vercel

在 Vercel 環境中,重新導向規則通常寫在 vercel.json 設定檔中。 值得注意的是,Vercel 預設的 permanent: true 會輸出 308 狀態碼,而 permanent: false 則會輸出 307 狀態碼。為了確保精確輸出您所選擇的 301 或 302 狀態碼,本工具在產生 Vercel 配置時會明確使用 statusCode 屬性。此外,由於標準 Vercel 部署最多僅支援 2,048 條路由,因此本工具將對應上限嚴格限制在 2,000 條以內。

錯誤訊息與排查

若 CSV 檔案內容不符合規範,工具會顯示相應的錯誤提示:

  • 請先選擇 CSV 檔。
  • 請選擇.csv 檔。
  • 這個 CSV 太大,請選擇小於 {max} 的檔案。
  • CSV 中沒有重新導向對應。
  • CSV 在第 {line} 列附近無法解析,請檢查引號和逗號。
  • 標題列需要 source 和 target(或 destination)兩欄。
  • 第 {line} 列需要同時填入來源和目標網址。
  • 第 {line} 列的來源無效,請使用 HTTP(S) URL 或以 / 開頭的路徑。
  • 第 {line} 列的來源含查詢參數或片段,請只保留來源路徑。
  • 第 {line} 列使用了萬用字元或路由模式字元。本工具只接受精確來源路徑。
  • 第 {line} 列的目標無效,請使用 HTTP(S) URL 或以 / 開頭的路徑。
  • 第 {line} 列有 URL 超過 2,048 個字元。
  • 第 {line} 列重複了來源路徑 {source},每個來源只能出現一次。
  • 一次最多處理 {max} 條對應。
  • 產生時間過長,請檢查 CSV 後再試一次。
  • 無法產生規則,請檢查 CSV 後再試一次。

常見問題

CSV 檔應該怎麼寫?

第一列請使用 source 和 target 欄名,target 也可以寫成 destination。之後每列填入一個完整的 HTTP/HTTPS 來源 URL 或以 / 開頭的路徑,再填入完整或以 / 開頭的目標網址。

產生的是精確比對規則嗎?

是。Nginx 與 Apache 規則會鎖定完整來源路徑,Vercel 也使用同一路徑。完整來源 URL 的網域會被移除;來源若含查詢參數、片段或萬用模式會遭拒,因為三個環境的處理方式不同。

為什麼 Vercel 輸出使用 statusCode?

Vercel 的 permanent 開關對應 308,temporary 對應 307。使用 statusCode 才能精確輸出你選擇的 301 或 302。標準 Vercel 部署最多共有 2,048 條路由,因此本工具一次最多接受 2,000 條對應。