情境:
之前有寫過一篇透過Jquey來判斷使用者有沒有登入來決定要不要進行跳轉
希望可以從 /login/ -> /orders/
但是後來發現這樣會有些問題, 對於SEO是不太友善的,因為SEO判斷HTTP Status Code 是從後端接收
ex: 2xx代表成功, 301代表跳轉
如果使用Jquery的方式進行跳轉, HTTP Status Code 判斷都會是200
另一個問題是在視覺上會有延遲, 在跳轉過去的時間差使用者還是可以感受到中間藏著一個頁面 , 下圖的gif圖是實際狀況
思考流程:
1.判斷網址目錄是否為 /login/
2.判斷是否登入狀態
3.進行跳轉到指定網址
ob_start(); if ($_SERVER['REQUEST_URI'] == '/login/') { if(is_user_logged_in()){ header("HTTP/1.1 301 Moved Permanently"); header("Location:https://example.com/my-account/orders/"); exit(); } } ob_end_flush();