Cấu hình file .htaccess Redirect 301 www to non-www và http to https trên máy chủ Apache

Tú Cao By Tú Cao Dec 24,2016 4 min read

Apache mặc dù giờ không còn đánh giá cao như nginx nữa, và hầu hết mọi người Tú biết đều đã chuyển hết từ Apache sang Nginx. Mình có tới 10 VPS thì 9 cái chạy nginx. :D, vẫn còn 1 con chạy apache nên vẫn hay phải cài đặt mấy cái này, tự dưng hôm nay làm SSL lại chưa fix lỗi www nên quyết định note bài này cho nhớ.

Cấu hình redirect http to https trên Apache
Cấu hình redirect http to https trên Apache

Nếu bạn nào có đọc bài hướng dẫn cấu hình Google Webmaster Tools cho Website mới của Tú thì sẽ thấy bước 02 "Cài đặt URL cho Website mới". 

Nếu bạn làm như vậy mới chỉ xong 1/2 công việc. Một số website hay bị lõi trùng lặp giữa www và non-www . Google hiểu website www.nguyencaotu.com và là 2 website khác nhau, vì thế việc của chúng ta là phải cấu hình để nó chỉ nhận 1 địa chỉ mà các bạn muốn mà thôi. 

Việc nhận 2 địa chỉ sẽ khiến nội dung của bạn index bị chậm, thậm chí bị nhầm lẫn. Một số lập trình viên thiếu kinh nghiệm còn gây ra nhiều tai hại khác, ví dụ thẻ canonical cũng đặt sai. 

Để làm điều này, bạn tạo 1 file mới nằm ở thư mục gốc của web (bên trong public_html) Bạn tạo 1 file có tên .htaccess (nên sử dụng công cụ FTP filezilla. Mình có thử Cute FTP một lần thì thấy nó không nhìn thấy file này)

Để có thể Redirect 301 từ www về non www


RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Để chuyển tiếp từ http sang https bạn cấu hình như sau


RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  Nếu bạn sử dụng https trên Apache bạn vẫn phải fix cái lỗi WWW. Vậy thì dùng luôn đoạn này


RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
aicode

  Đơn giản chỉ có vậy thôi. Bài kế tiếp mình sẽ hướng dẫn các bạn cấu hình Cache file với htaccess để tối ưu tốc độ load của trang.

Tú Cao
By Tú Cao Admin

"Hạnh phúc không phải là nhận, hạnh phúc chính là sự cho đi" - đây là lý do mình viết và xây dựng lên Blog này. Bài viết trên dự dựa trên quan điểm, hiểu biết của cá nhân của mình. Nó có thể đúng, cũng có thể sai tùy thời điểm, vì vậy bạn phải tự cân nhắc và chịu trách nhiệm khi làm theo. Nếu bạn thấy nội hữu ích với bạn, hãy Mời Tú Cao một tách CÀ PHÊ.

Previous Article Cách reset mật khẩu trên Vultr (VPS sử dụng CenOS 6)

Cách reset mật khẩu trên Vultr (VPS sử dụng CenOS 6)

Next Article

Tối ưu tốc độ Website bằng việc lưu hình ảnh trên trình duyệt (Áp dụng cho server Nginx)

Tối ưu tốc độ Website bằng việc lưu hình ảnh trên trình duyệt (Áp dụng cho server Nginx)
Viết bình luận
Thêm bình luận

2 Bình luận

D
Duy

Anh ơi nếu muốn từ https chuyển sang http thì như thế nào ạ

Trả lời
16:28 29/05/2017

Theo dõi Tú Cao trên Youtube để xem video hướng dẫn mới nhất

Theo dõi Tú Cao trên Youtube để xem video hướng dẫn mới nhất

Giữ kết nối !

Theo dõi hoặc kết nối với tác giả trên mạng xã hội

Subcribe

Tài liệu SEO miễn phí Tài liệu hướng dẫn cơ bản và nâng cao theo tiêu chuẩn của Google. Đã được thực nghiệm qua các dự án bởi tác giả. Xem thêm