Subscribe Now

Trending News

Bài viết

Lập trình, Nginx

Redirect Url 301 với Query string trong Nginx

Redirect Url 301 với Query string trong Nginx

Thông thường, khi bạn chuyển một website từ tên miền cũ sang tên miền mới, việc tất yếu để giữ hạng trên Google là phải Redirect 301 tất cả Url từ tên miền cũ sang tên miền mới để “Bác Gồ” mới index đúng website.

Có thể xem một ví dụ như sau khi Redirect 301 từ cũ sang mới:

server{
    server_name old.domain-name.com;
    return 301 http://new.domain-name.com$request_uri;
}

Nhưng nếu trong các Url của bạn có một số kèm theo chuỗi Query string thì làm thế nào để Redirect? Chẳng hạn như http://old.domain-name.com/ad-landing-page?tracker=123

Với Url trên, bạn có thể sử dụng một phương pháp đơn giản theo mẫu như sau:

server{
    server_name old.domain-name.com;
    if($query_string){
        #Redirects pages with query strings.
        return 301 http://new.domain-name.com$request_uri?$query_string;
    }
    #Redirects pages without query strings.
    return 301 http://new.domain-name.com$request_uri;
}

Đối với Url của một thư mục cụ thể, bạn có thể sử dụng mẫu như sau:

server{
    server_name old.domain-name.com;
    location ~ ^/old-stale-blog(.*)$ {
    if($query_string){
        #Redirects pages with query strings.
        return 301 http://new.domain-name.com/new-awesome-blog$1?$query_string;
    }
    #Redirects pages without query strings.
    return 301 http://new.domain-name.com/new-awesome-blog$1;
}

Nếu chuyển hướng được chuyển hướng đến cùng một tên miền, bạn có thể sử dụng bí danh (alias) thay vì trả lại 301.

Qua trên là cách mà mình tham khảo được. dù sao Nginx vẫn còn khá là phức tạp đối với một newbie như mình nên mình chưa thể chia sẻ nhiều hơn.

Các bạn có thể tham khảo thêm tại Documents này.

Chúc các bạn thành công!

Bài viết liên quan

Theo dõi
Thông báo của
guest

4 Góp ý
Mới nhất
Cũ nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Phong Nguyen
Phong Nguyen
3 năm trước

trong ngix làm sao direct dc link .html sang dạng có dấu / bác

Phong Vũ
3 năm trước

Chào bạn !
Website của mình trước đây có dùng Plugin AMP. Giờ mình bỏ nó nhưng thời gian đầu tìm đến Google sẽ lỗi link
Cụ thể link AMP: https://www.vietnetgroup.vn/tu-hoc-seo-web.html/amp
Vậy mình muốn redirect tất cả các link có /amp về không có /amp thì sử dụng hàm như thế nào bạn.
Cảm ơn bạn nhiều !

Nam Ngô
3 năm trước

Hay đó bác