Hướng dẫn cách chuyển hướng redirect 301 bằng .htaccess

Bạn đang muốn chuyển hướng thành phần website, hãy thử redirect 301 bằng file .htaccess xem sao. Thực ra, những cái này đều là kiến thức cũ cả. Nhưng mình đang xây dựng lại Evergreen nên phải tìm hiểu. Trong quá trình mò mẫn cũng tìm được nhiều thứ khá thú vị nên muốn chia sẻ lại cho mọi người. Đa số VD đều là kết quả của quá trình xóa link cũ, tạo link mới của chính Evergreen đấy. Copy thử là thấy ngay ý mà.

 

Lưu ý: Nhớ thay “https://evergreen.edu.vn” sang domain của bạn. Nhớ là trước khi redirect 301 bất cứ link nào thì link đích phải tồn tại không là sẽ bị lỗi 404 hàng loạt đấy.

Cách truy cập và chỉnh sửa file .htaccess trong hosting

  • Truy cập vào trình “Quản lý File” (File Manager) của hosting bạn đang dùng
  • Tìm và truy cập thư mục “public_html
    1. Nếu bạn cài 1 trang web duy nhất, file .htaccess sẽ nằm ngay ngoài cùng (ngang hàng với thư mục cài web và file robots.txt hay index.php hay index.html)
    2. Nếu bạn cài nhiều website, file .htaccess sẽ nằm ngang hàng với thư mục bạn cài web và file robots.txt. Hãy truy cập vào thư mục đó sẽ thấy ngay thôi.
  • Trong trường hợp không có file .htaccess (do xóa nhầm), bạn có thể tạo mới ngay trên hosting hoặc tạo 1 file .htaccess trên máy tính không cần nội dung rồi upload lên. File .htaccess có định dạng .txt, đặt tên là .htaccess (không đặt là .htaccess.txt nha)
  • Cú pháp chuyển hướng sẽ được đặt phía dưới dòng:

Lưu ý: Trong trường hợp code không chạy, hãy thử đặt nó lên trên cùng của file .htaccess xem sao. Thường thì nó cần chạy trước các lệnh khác trong htaccess đó.

1. Chuyển hướng link A sang link B

VD: Chuyển link “https://evergreen.edu.vn/tag/tieng-anh-giao-tiep/” sang link “https://evergreen.edu.vn/hoc-tieng-anh/hoc-tieng-anh-giao-tiep/

Thực ra cú phá đơn giản hơn là:

Tuy nhiên, có thể website bạn chạy song song 2 phiên bản www và non-www hay http và https nên cứ viết thẳng trang đích là tốt nhất. Ngoài ra, cú pháp này cũng có thể dùng khi bạn muốn redirect 1 link website bạn sở hữu sang 1 link website khác. Tuy nhiên, trường hợp ngược lại thì bạn phải có quyền truy cập hosting mới dùng được. Nhớ đặt dòng 301 này dưới 2 mã chuyển hướng www và https nếu bạn dùng.

2. Redirect 301 domain từ “www” sang “non-www” và ngược lại

Thông thường, web mới hay những website cũ sẽ chạy song song cả sub domain www lẫn không có www. Bạn cần chuyển hướng cả 2 làm 1 để không bị Google đánh giá trùng lặp nội dung (kể cả đã canonical cũng không hề tốt tý nào) và chọn sai url chính. Hãy chọn mã phù hợp phía dưới:

  • Hướng dẫn redirect www sang non-www

VD: Chuyển domain “https://www.evergreen.edu.vn” sang “https://evergreen.edu.vn

  • Cách chuyển hướng non-www sang www

VD: Chuyển domain “https://evergreen.edu.vn” sang “https://www.evergreen.edu.vn

  • 301 www to non www

Copy code mà dán vào htaccess thôi (không cần chỉnh sửa lại):

3. Xóa bỏ một thành phần trong url

Xóa /category/ trong đường dẫn WordPress

(Click link trên để xem đầy đủ hướng dẫn)

Chuyển “https://evergreen.edu.vn/category/wordpress/” sang “https://evergreen.edu.vn/wordpress/“:

Loại bỏ /tag/ trong url WordPress

(Click link để xem đầy đủ hướng dẫn)

Chuyển “https://evergreen.edu.vn/tag/amp/” sang “https://evergreen.edu.vn/amp/

Loại bỏ ngày tháng năm trong url bài viết (post)

Với những ai chuyển từ blogspot sang wordpress sẽ cần

Chuyển “https://domain.com/year/month/day/title/” sang “https://domain.com/title/

Chuyển “https://domain.com/year/month/title/” sang “https://domain.com/title/

Hoặc chuyển post giữ nguyên link archive “https://domain.com/year/month/day/” hay “https://domain.com/year/month/

Giải thích: Kiểm tra điều kiện RewriteCond nếu không phải URL được request thì thực hiện quy tắc chuyển hướng. ((20|19)[0-9]{2})  là năm với dạng 19xx và 20xx

4. Loại bỏ url chứa Param (Query_String)

Đó là khi website có 1 page lại có 2 đường dẫn hiển thị cùng 1 nội dung (sau dấu ?). Tốt nhất là chuyển nó về 1 page thôi.

VD: Chuyển url từ “https://evergreen.edu.vn/page.php?name=News” sang url “https://evergreen.edu.vn/page.php

5. Chuyển hướng website – Thay đổi tên miền không bị tụt top

Hướng dẫn cách trỏ tên miền về tên miền khác

VD: Chuyển domain cũ sang “https://evergreen.edu.vn/

Trong quá trình làm web thì việc thay đổi tên miền cũng chẳng phải là cái gì quá lạ lẫm. Tuy nhiên, mỗi khi thay domain mới, luôn xuất hiện 1 câu hỏi quen thuộc “Làm sao để thay đổi tên miền không bị tụt top hay mất thứ hạng đang có?”. Thực ra, việc giữ nguyên thứ hạng ban đầu là không thể. Nhưng cách để quá trình thay đổi này rút ngắn lại và giúp bạn lấy lại top sớm thì có đấy.

  1. Việc đầu tiên sau khi thay domain là khai báo lại website lên Google Search Console càng sớm càng tốt. Điều này vô cùng cần thiết để Google nhanh chóng update lại thứ hạng website. Đặc biệt cần Gửi lại sitemap (sơ đồ trang web) ngay. Với những page quan trọng hay có nhiều traffic, việc submit lại là vô cùng cần thiết.
  2. Cập nhật lại backlink. Thường thì, chúng ta chỉ cần quan tâm đến những backlink quan trọng hoặc có số lượng lớn. Chủ yếu để Google cập nhật sớm, giúp domain mới có trust sớm.
  3. Liên tục update website. Việc này thường đến từ viết thêm bài viết mới, cập nhật nội dung cũ, sửa lại cấu trúc web,… Nhờ đó, bot sẽ crawl site nhanh hơn đấy.
  4. Chia sẻ MXH + tăng view nếu có (Google Ads, mua link báo hoặc traffic giả nhưng số lượng nhỏ cho nhiều page)

Trong vòng 2-3 tuần, bạn sẽ thấy thứ hạng trở lại nhưng không phải tất cả từ khóa. Nếu làm đúng các bước trên, có khi keywords còn nhảy lên top cao nữa đấy

6. Chuyển toàn bộ trang trong một thư mục sang thư mục khác

VD: Bạn muốn bỏ category “https://evergreen.edu.vn/tai-lieu/” bao gồm tất cả các page của nó và chuyển sang category “https://evergreen.edu.vn/hoc-tieng-anh/

7. Chuyển trang động sang page tĩnh

Cái này chẳng cần thiết đâu.

VD: Chuyển trang web động “page.php?id=n” (với n là giá trị biến) tới một trang tĩnh mới “new-page.html“:

8. Chuyển phần đuôi mở rộng từ .php sang .html hoặc loại bỏ đuôi .html

Nếu bạn muốn đường dẫn url thân thiện với bộ máy tìm kiếm (SEO friendly url) hơn thì làm thôi. Nếu dùng WordPress thì tốt nhất không nên làm vì nó được tối ưu rồi.

=> VD: Sau khi thêm mã trên, url sẽ chuyển từ “https://evergreen.edu.vn/abc.php” sang “https://evergreen.edu.vn/abc.html

Nếu trước kia thằng coder ngáo ngáo thích để dạng .html mà bạn muốn bỏ đi thì làm ngược lại thôi. Ta sẽ chuyển hết sang dạng / để truy cập không bị 404.

=> VD: Link sẽ từ “https://evergreen.edu.vn/huong-dan-cach-chuyen-huong-redirect-301-bang-htaccess.html” thành “https://evergreen.edu.vn/huong-dan-cach-chuyen-huong-redirect-301-bang-htaccess/

9. Cài đặt SSL (chuyển hướng 301 http sang https htaccess và ngược lại)

Redirect http to https

Nếu như bạn cài đặt SSL cho website thì chắc chắn phải redirect 301 http sang https rồi. Tốt nhất nên dùng htaccess cho đơn giản.

VD: Redirect “https://evergreen.edu.vn/” sang “https://evergreen.edu.vn/

Lưu ý: SSL free thì Cpanel có Let’s Script hay mọi hosting có Cloudflare đấy. Bạn thích thử nghiệm có thể dùng.

Redirect https to http

Nhưng nếu như web bạn không có cài SSL mà lại bị nhà cung cấp hosting auto chuyển hướng sang https thì sao. Đừng lo, hãy chuyển hướng ngược lại là được.

VD: Redirect “https://evergreen.edu.vn/” sang “https://evergreen.edu.vn/

10. Chuyển WordPress RSS feeds sang Feedburner của Google

Hoặc giản gọn lại:

Thay “http://feeds.feedburner.com/tienganhevergreen” bằng Feedburner của bạn

11. Xóa dòng tham số tracking của Facebook: fbclid=

“fbclid” là dòng tham số của Facebook để check traffic rời khỏi Facebook đến website nào. Thông thường dòng tham số tracking này của Facebook sẽ không gây hại nhiều nhưng có thể khiến link bị lỗi. Vì vậy dành cho những ai cần:

Dành cho WordPress:

Nếu như cả 2 thằng trên không hoạt động thôi nha, dùng cái phía dưới:

Những lưu ý khi sử dụng .htaccess

1. $1, $2, $3, $4 là gì?

  • $1 là viết lại y nguyên nội dung trong dấu ngoặc đơn đầu tiên “(Nội dung)

VD: Xem lại mục 3 $1 sẽ thay bằng toàn bộ nội dung trong “(.+)

  • $2 $3 $4 tương tự $1 nhưng viết lại y nguyên nội dung trong dấu ngoặc đơn thứ 2 3 4

VD: Xem lại mục 3 $1 $2 $3 $4 sẽ thay bằng toàn bộ nội dung trong ngoặc đơn thứ 1 2 3 4 trong cụm “/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$

Những ứng dụng khác của file .htaccess

1. Sửa lỗi index of /

Đây là một lỗi hay gặp khi cài đặt thêm plugins cho website như OneSignal – Free Web Push Notifications . Việc này gây rất nhiều hệ quả xấu khi Google có thể index những url này. Đặc biệt, nội dung trong thư mục đó sẽ bị hiện public, rất dễ khiến website bị hack.

Để chặn hiển thị index of / bạn hãy thêm dòng code phía trên cùng của file htaccess sau đó lưu lại.

Hoặc

Giờ bạn truy cập những link lỗi sẽ ra trang trắng.

 

Hầu hết việc chuyển hướng Redirect 301 một phần hay toàn bộ website của bạn đều chỉ trong những mục trên thôi. Nếu có vấn đề gì hãy comment phía dưới để mình nghiên cứu sửa lại giúp. Mình cũng bị lỗi hoài mới tìm được thằng chuẩn cho Evergreen đấy. Chúc các bạn không gặp lỗi trong quá trình sửa web nha!

Related Post