寶塔舊網址要轉址:301與302、路徑保留先確認

舊域名轉到新域名,首頁能跳,內頁卻全部回到首頁,先核對重定向的目標與URI保留設定。301與302表示轉址的性質,但它們本身不決定路徑是否保留;狀態碼、目的地和路徑需要分開確認。

以下依寶塔、MDN及Nginx官方文件整理設定思路。網址是示例,不是已替你的站點建立規則;先把需要的映射寫清楚,再到面板處理,避免一條全站轉址把原本有效的內容入口一起導錯。

先寫來源和目標,不先選狀態碼

先列出完整來源網址與預期目的地,包括協定、主機名稱及路徑。例如舊站的/articles/guide若在新站仍有相同路徑,可以考慮保留;若新站已改用另一種路由,就不能只換域名,期待內頁自動存在。

也分清這次是全域名搬遷、某個目錄變更,還是單一頁面換位置。規則範圍越大,越要核對不同網址的結果。不要為了一張頁面改網址,就先建立影響整個域名的規則。

目標必須能正常提供需要的內容。寶塔官方重定向頁也要求有效的目標URL;瀏覽器成功跳到另一個網址,不代表那裡不是404、登入頁或另一張轉址頁。

301永久,302臨時,按變更目的選擇

寶塔介面提供301永久重定向與302臨時重定向。MDN分別說明兩種狀態的語意:301表示資源永久移往Location指定位置;302則表示暫時位於另一個位置。

已確定長期使用新網址時,永久轉址可以表達這個安排。若只是臨時維護或尚未確定的入口,先不要用永久性語意宣告所有內容都已搬走。這不表示任何測試都必須用同一種狀態碼,而是要把預期安排說清楚。

也不要承諾301一定立即完成搜尋結果更新,或302一定不影響任何搜尋表現。HTTP狀態表達的是回應語意;搜尋系統何時重新讀取與處理,是另外的觀察,不能用面板保存成功代替成效。

寶塔的URI保留選項決定內頁去向

在網站清單選中目標站點,打開重定向,再添加規則。依官方文件核對重定向類型、目標URL、方式及保留URI參數。域名規則與路徑規則要符合你剛才列出的範圍。

寶塔官方示例說明,從舊域名轉到新域名,保留URI時,/1.html仍轉到新域名的/1.html;不保留則轉到新域名根目錄。這個差異解釋了為什麼首頁測試正常,內頁卻全部落到首頁。

保留路徑的目標示例:
https://old.example.com/1.html
→ https://new.example.com/1.html

不保留路徑的目標示例:
https://old.example.com/1.html
→ https://new.example.com/

上面是用來討論預期結果的網址,沒有代表你的面板已生成這條規則。若新站路徑和舊站不同,應安排明確映射,不能只勾保留選項就宣稱內容搬遷完成。

查詢參數也要用真正需要的網址核對

商品篩選、文章頁碼或追蹤網址可能帶查詢參數。先確認哪些參數需要延續,哪些屬於舊系統專用資訊;不要一律刪掉,也不要把可能包含敏感內容的參數原樣送到不相關目的地。

面板選項描述包含子路徑或參數,但具體規則仍需以實際回應核對。挑一條需要參數的合法網址,看Location中的目的地是否符合預期,再查看抵達後的頁面內容。

如果自己編輯Nginx規則,依官方rewrite模組核對return與rewrite的語法和參數處理。不要把某個泛用片段當成寶塔每種版本都會生成的固定配置,更不要直接覆蓋已有業務規則。

看第一次回應和完整跳轉鏈

只看瀏覽器最後的網址,可能看不到中途經過幾次轉址。MDN的Location文件說明它指定重定向位置;核對時記錄第一個狀態碼和Location,再沿著鏈查看下一個回應。

如果來源轉到目標,目標又轉回來源,就可能形成循環。常見的排查方向是域名、HTTP與HTTPS及不同層的既有規則,但不能單憑現象就刪除所有規則。先把每一跳記下來,才能找出互相矛盾的位置。

也看是否有不必要的多跳。來源HTTP先換域名、再升HTTPS、再加www,可能經過多次跳轉;若要調整,先確認每個正式入口的憑證與最終網址,不能只為減少跳數就忽略來源端的HTTPS要求。

表單與API不要當成一般頁面轉址

301與302遇到POST時,瀏覽器可能在後續改用GET。MDN指出,若需要保留方法,308或307具有不同要求。因此,登入、付款或API入口不能因一般GET頁面轉址正常,就直接套用同一判斷。

這不是要求你在寶塔介面選一個它沒有提供的選項,而是提醒先核對業務需要。若涉及方法與請求內容保留,應按應用和服務能力設計相應方案,不把301或302當成所有請求都能透明搬遷的保證。

也不要拿正式付款或寫入資料的請求隨意試驗。先由維護者辨認影響範圍,使用適當的驗證方式核對,讓入口變更和業務資料處理保持可追蹤。

先確認目標內容,再擴大規則

若新站的內容尚未全部就緒,可以先列出已完成與未完成的路徑,再決定哪些入口適合切換。把所有舊網址導向新首頁,雖然可能不再顯示舊站內容,卻會讓原本尋找特定文章的訪客失去對應位置,不能把這種結果稱為逐頁搬遷完成。

驗收時也看頁面內容是否真是該篇文章,而不是新站以成功狀態回傳的通用錯誤頁。HTTP回應和內容映射都需要核對,才知道路徑保留是否達到原本目的。

完成時保存規則與網址樣本

至少保存首頁、一條內頁、一個帶參數的合法網址及必要的例外入口,記錄來源、第一次回應與最終內容。每個樣本都需要符合預期,不能只用首頁跳轉成功作全站結論。

變更前後也保留原規則與時間,讓之後看到舊結果的人知道它是歷史記錄還是新的現場觀察。如果永久轉址已被快取,重新核對時要留意不同客戶端的結果,不要急著反覆改回相反方向。

最後把這次搬遷的範圍寫清楚:哪些網址保留路徑,哪些另有映射,哪些暫時不調整。這份紀錄比只寫「已開301」更有用,下次新增內容或改路由時,也能知道該核對哪些入口。

參考資料

原文鏈接:https://wntheme.com/bt-redirect-301-302-preserve-path/,轉載請註明出處。
0

評論0

顯示驗證碼
沒有帳號?註冊  忘記密碼?