CHIA SẺ:

Có rất nhiều cách để buộc Nginx sử dụng đường dẫn dạng non-www hoặc www. Mình xin giới thiệu một cách đơn giản như sau:

Redirect non-WWW sang WWW

Sửa file cấu hình của nginx (nginx.conf) hoặc nếu dùng HocVPS Script thì bạn hãy sửa file cấu hình cho từng domain trong folder /etc/nginx/conf.d/

Single domain

server {
        server_name example.com;
        return 301 $scheme://www.example.com$request_uri;
}

All domains

server {
        server_name "~^(?!www\.).*" ;
        return 301 $scheme://www.$host$request_uri;
}

Từ WWW sang non-WWW

Single domain

server {
        server_name www.example.com;
        return 301 $scheme://example.com$request_uri;
}

All domains

server {
         server_name "~^www\.(.*)$" ;
         return 301 $scheme://$1$request_uri ;
}

Ngoài ra, có một số plugin WordPress có thể xử lý việc redirect này ở mức PHP-level, nhưng để có performance tốt nhất, các bạn nên để cho Nginx tự xử.

64 Comments

  1. Nghĩa 2

    Chào Luân

    Xin phép cho mình hỏi là mình đã up code lên vps, kết nối database … rồi

    Site đã chạy ( Fontsun.com ) nhưng cứ bị lỗi ERR_INCOMPLETE_CHUNKED_ENCODING

    đây là linh ảnh báo lỗi http://www.upsieutoc.com/image/bN67G

    Bạn xem có cách nào tìm giúp mình nguyên nhân và cách khắc phục với nhé, cảm ơn cậu nhiều !

    1. Việt Phương Moderator

      Gửi mình file cấu hình Nginx của domain mình xem cho. Chủ yếu cần thêm đoạn rewrite ^(.*) https://www.domain.com$1 permanent;

  2. Van 16

    Bạn Luân cho mình hỏi là việc rederect giữa www và non www có làm server nặng nhiều không vậy.

Comment của bạn

Your email address will not be published. Required fields are marked *