Chào các bạn, đã lâu rồi mình không lên bài mới. Lý do thời gian qua mình hơi bận vì công việc nên mình không có thời gian để lên bài mới cho các bạn.
Thì hôm nay mình sẽ lên bài như ở title là tổng hợp cấu hình redirect 301 .htaccess file vậy file .htaccess là gì và để làm gì? mình sẽ giải thích ngay sau đây.
File .htaccess là gì?
Tệp .htaccess là tệp cấu hình cấp thư mục được một số máy chủ web hỗ trợ, được sử dụng để cấu hình các vấn đề truy cập trang web, chẳng hạn như chuyển hướng URL, rút ngắn URL, kiểm soát truy cập, v.v. Dấu ‘chấm’ trước tên tệp khiến nó trở thành tệp ẩn trong môi trường dựa trên Unix. (Nguồn: Wikipedia)
Để duy trì blog ngoài link rút gọn & mình có làm aff cho 1 số bên hosting.
Các nhà cung cấp uy tín về mặt chất lượng & đội ngũ support nên mọi người cứ yên tâm.
Nếu bạn đang có ý định mua Hosting, VPS mình có list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino: Business Hosting, NVMe Hosting và NVMe VPS
- iNet: Cloud VPS và Web Hosting
File .htaccess dùng để làm gì?
Với file .htaccess thì mình có thể bật & tắt các tính năng của máy chủ chạy Apache cung cấp, tính năng
- Chuyển hướng URL
- Kiểm soát truy cập (cho phép hay ngăn chặn)
- ….
.htaccess nó không phải là dạng file mà là một tên file hoàn chỉnh. Cho nên bạn không có quyền thay đổi (cũng có thể với điều kiện là khai báo lại tên)
Lưu ý: khi bạn thao tác chỉnh sửa code trong file .htaccess mà nội dung thấy vẫn chưa được cập nhật, thì bạn nên clear cache hoặc test các trình duyệt khác hay trình duyệt ẩn danh.
Có thể xem thêm:
Tổng hợp các cấu hình Redirect 301
Trước khi thực hiện bất kỳ thay đổi nào trên mã htaccess của bạn, hãy nhớ tạo một bản sao lưu của nó, trong trường hợp có sự cố xảy ra và ngay sau khi bạn triển khai các thay đổi, hãy xác nhận rằng các URL được chuyển hướng có thực sự đi đúng với trạng thái 301 http đúng không nơi bạn muốn trỏ đến.
Non www Redirect 301 www
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^abc.com$ RewriteRule (.*) https://www.abc.com/$1 [R=301,L] </IfModule>
www Redirect 301 Non www
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www.abc.com$ RewriteRule (.*) https://abc.com/$1 [R=301,L] </IfModule>
Redirect 301 tất cả URLs từ http sang https
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
Redirect 301 tất cả URLs từ https sang http
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
Redirect 301 Page trỏ về Page khác
<IfModule mod_rewrite.c> RewriteEngine On Redirect 301 /page-1 /page-2 </IfModule>
- ở đoạn mã này các bạn thay page-1 là link cũ, page-2 là link mới
Redirect 301 chuyển sang domain khác
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*)$ https://abc.com/$1 [R=301,L] </IfModule>
Redirect 301 chuyển hướng sang thư mục
<IfModule mod_rewrite.c> RewriteEngine on Redirect 301 /category-a/index.html /category-a </IfModule>
- Ví dụ: bạn có 1 link là abc.com/category-a/index.html muốn chuyển sang thành abc.com/category-a/
URLs Slash 301 Redirect thành Non-Slash ( / )
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] </IfModule>
- Ví dụ: abc.com/test-1/ thành abc.com/test-1
URLs Non-Slash 301 Redirect Slash
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*[^/])$ /$1/ [L,R=301] </IfModule>
Redirect cho URL 404
<IfModule mod_rewrite.c> RewriteEngine On ErrorDocument 404 abc.com/404 </IfModule>
Block IP access
Order Deny,Allow Deny from 127.0.0.1
- Thay 127.0.0.1 thành địa chỉ IP mà bạn muốn block
Xoá phần mở rộng tên tệp cho url
Xoá phần đuôi .html
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/?(.*).(html)$ /$1 [R=301,L] </IfModule>
Xoá phần đuôi .htm
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/?(.*).(htm)$ /$1 [R=301,L] </IfModule>
Xoá phần đuôi .php
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/?(.*).(php)$ /$1 [R=301,L] </IfModule>
Viết hoa Redirect 301 về chữ thường
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1] RewriteRule ![A-Z] - [S=28] RewriteRule ^([^A]*)A(.*)$ $1a$2 RewriteRule ^([^B]*)B(.*)$ $1b$2 RewriteRule ^([^C]*)C(.*)$ $1c$2 RewriteRule ^([^D]*)D(.*)$ $1d$2 RewriteRule ^([^E]*)E(.*)$ $1e$2 RewriteRule ^([^F]*)F(.*)$ $1f$2 RewriteRule ^([^G]*)G(.*)$ $1g$2 RewriteRule ^([^H]*)H(.*)$ $1h$2 RewriteRule ^([^I]*)I(.*)$ $1i$2 RewriteRule ^([^J]*)J(.*)$ $1j$2 RewriteRule ^([^K]*)K(.*)$ $1k$2 RewriteRule ^([^L]*)L(.*)$ $1l$2 RewriteRule ^([^M]*)M(.*)$ $1m$2 RewriteRule ^([^N]*)N(.*)$ $1n$2 RewriteRule ^([^O]*)O(.*)$ $1o$2 RewriteRule ^([^P]*)P(.*)$ $1p$2 RewriteRule ^([^Q]*)Q(.*)$ $1q$2 RewriteRule ^([^R]*)R(.*)$ $1r$2 RewriteRule ^([^S]*)S(.*)$ $1s$2 RewriteRule ^([^T]*)T(.*)$ $1t$2 RewriteRule ^([^U]*)U(.*)$ $1u$2 RewriteRule ^([^V]*)V(.*)$ $1v$2 RewriteRule ^([^W]*)W(.*)$ $1w$2 RewriteRule ^([^X]*)X(.*)$ $1x$2 RewriteRule ^([^Y]*)Y(.*)$ $1y$2 RewriteRule ^([^Z]*)Z(.*)$ $1z$2 RewriteRule [A-Z] - [N] RewriteCond %{ENV:HASCAPS} TRUE RewriteRule ^/?(.*) /$1 [R=301,L] </IfModule>
301 Reditect từ Subdomain sang Subdirectory
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*)$ https://abc.com/blog/$1 [L,NE,R=301] </IfModule>
Và như vậy An Trần Digital đã tổng hợp lại các cấu hình 301 Redirect trong file .htaccess. Qua cách cấu hình sẽ giúp tiện cho việc SEO giữ lượng traffic khi mà muốn chuyển hướng. Nếu ở trên còn thiếu phần nào thì các bạn có thể bình luận bên dưới để mình bổ sung thêm.
CHÚC CÁC BẠN THÀNH CÔNG !!!
Nếu thấy bài viết có ích thì hãy đánh giá 5 sao cho mình nhé. Xin cảm ơn!!!