SemrushEnterpriseby LionTech · Vietnam PartnerĐăng ký demo ↗
SEO kỹ thuật

Danh sách quy tắc chuyển hướng .htaccess và chức năng

Tìm hiểu mọi điều cần biết về quy tắc chuyển hướng .htaccess, chức năng của chúng và cách thiết lập chuyển hướng trên website của bạn bằng Semrush.

Website luôn thay đổi. Bạn thêm và xóa nội dung, đổi domain, tái cấu trúc và nhiều việc khác. Để website hoạt động hiệu quả giữa tất cả những thay đổi đó, bạn cần biết cách xử lý chuyển hướng.

Một cách thực hiện việc này ở cấp cấu hình máy chủ là tạo quy tắc chuyển hướng trong tệp .htaccess.

Tệp .htaccess là gì?

Trên máy chủ Apache, tệp .htaccess cho phép bạn thực hiện thay đổi cấu hình ngay cả khi không có quyền truy cập vào các tệp cấu hình máy chủ chính.

.htaccess hoạt động riêng trên từng thư mục. Điều này hữu ích nếu bạn cần tạo quy tắc chỉ áp dụng cho thư mục cụ thể đó và tất cả thư mục con bên trong. Cách này cũng giúp bạn tránh chỉnh sửa các tệp cấu hình máy chủ chính.

.htaccess sử dụng cùng cú pháp với cấu hình gốc, nghĩa là bạn có thể dùng tại đây mọi chỉ thị thường thêm vào các tệp cấu hình máy chủ.

Tuy nhiên, tài liệu chính thức của Apache khuyến nghị bạn chỉ sử dụng tệp .htaccess khi thật sự cần thiết, vì đôi khi chúng có thể làm chậm hiệu suất máy chủ. Vì vậy, nếu phù hợp với website của bạn, hãy cân nhắc sử dụng các phương pháp chuyển hướng khác, chẳng hạn như tệp cấu hình máy chủ chính, JavaScript, PHP hoặc HTML.

Ngoài ra còn có các plugin như Redirection trên WordPressgiúp bạn chuyển hướng trang mà không cần hiểu biết nhiều về chủ đề này.

Bật .htaccess trên máy chủ

Nếu .htaccess chưa được bật trên máy chủ, bạn cần bật tính năng này. Để thực hiện, bạn cần có quyền sudo hoặc root. Nếu không có quyền root, hãy nhờ người có quyền hỗ trợ.

Trước tiên, hãy mở tệp cấu hình http của website. Sau đó, thêm nội dung sau vào sau khối VirtualHost():

</VirtualHost>
<Directory /var/www/test.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Tiếp theo, lưu và khởi động lại Apache.

Một số hệ thống CMS như WordPress hoặc Drupalsẽ tự động tạo tệp .htaccess. Nếu chưa có tệp này, bạn có thể tự tạo bằng trình soạn thảo văn bản. Lưu tệp với tên “.htaccess”, không thêm phần mở rộng nào khác, rồi thêm tệp vào thư mục public_html trong thư mục gốc của website.

Mẹo chuyên nghiệp: Trước khi thực hiện bất kỳ thay đổi nào đối với tệp cấu hình (dù là cấu hình gốc hay .htaccess), luôn hãy lưu một bản sao lưu. Sai sót có thể dẫn đến lỗi HTTP 500 Internal Server. Nếu có tệp sao lưu mới nhất, bạn có thể nhanh chóng hoàn tác các thay đổi khi mắc lỗi.

Sử dụng chỉ thị “Redirect” trong .htaccess

Sử dụng chỉ thị redirect trong .htaccess khá đơn giản khi bạn đã hiểu cú pháp.

Dưới đây, chúng ta sẽ phân tích cú pháp này bằng một chỉ thị đơn giản để chuyển hướng một trang sang trang khác trên cùng domain:

Đầu tiên, phần được tô màu xanh lá là tên chỉ thị. Trong ví dụ này, chúng ta dùng Redirect. Mọi nội dung trong .htaccess đều phân biệt chữ hoa và chữ thường, vì vậy hãy viết hoa chữ R.

Thứ hai, phần được tô màu xanh dương là HTTP status code bạn muốn sử dụng. Ví dụ này dùng 301 để biểu thị chuyển hướng vĩnh viễn. Bạn có thể đổi sang status code phù hợp nhất. Nếu không chỉ định, hệ thống sẽ tự động xem chuyển hướng là tạm thời và dùng status code 302.

Thứ ba, phần màu vàng là vị trí ban đầu mà bạn muốn chuyển hướng khách truy cập khỏi đó. Dấu gạch chéo ở đầu vị trí đại diện cho toàn bộ domain hiện tại. Phần tiếp theo cho biết vị trí của trang cần chuyển hướng. Trong ví dụ này, trang nằm trong một thư mục con.

Nếu muốn chuyển hướng toàn bộ domain thay vì một thư mục con riêng lẻ, bạn chỉ cần dùng dấu gạch chéo.

Cuối cùng, phần màu tím là vị trí của trang đích, nơi bạn đưa khách truy cập đến. Trong ví dụ này, cả trang ban đầu và trang đích đều nằm trên domain hiện tại, nên đường dẫn đích bắt đầu bằng dấu gạch chéo. Nếu chuyển hướng đến một trang trên domain khác, bạn cần nhập toàn bộ URL.

Bạn có thể điều chỉnh chỉ thị này theo nhiều cách khác nhau, tùy vào nội dung cần chuyển hướng. Bảng dưới đây gồm 7 kiểu chuyển hướng phổ biến và cách viết tương ứng.

Quy tắc chuyển hướng

Cách viết

Chuyển hướng giữa các trang trên cùng domain:

Redirect 301 /subfolder/old_page.html /subfolder/new_page.html

Chuyển hướng một trang sang trang khác trên domain khác:

Redirect 301 /subfolder/old_page.html https://www.exampleurl.com/subfolder/new_page.html

Chuyển hướng giữa các thư mục con trên cùng domain:

Redirect 301 /old_subfolder /new_subfolder

Chuyển hướng một thư mục con đến vị trí bên ngoài:

Redirect 301 /subfolder https://www.exampleurl.com/

Chuyển hướng domain đến một thư mục con trên cùng domain:

Redirect 302 /subfolder

Chuyển hướng giữa các domain:

Redirect 301 /https://www.exampleurl.com

Chuyển hướng đến trang 404 tùy chỉnh:

ErrorDocument 404 /error/pagenotfound.htm

Lưu ý: Các lệnh chuyển hướng đến trang 404 tùy chỉnh sử dụng tên chỉ thị khác, nhưng được định dạng giống như các quy tắc chuyển hướng khác trong biểu đồ này. Nếu sử dụng cách này, hãy đảm bảo bạn đã tạo trang lỗi trước.

Chuyển hướng sang HTTPS bằng Rewrite Module

Một số lệnh chuyển hướng phức tạp hơn sử dụng Rewrite module (còn được gọi là mod_rewrite) thay vì chỉ thị Redirect đã giải thích ở trên. Rewrite module cho phép bạn thao tác và viết lại các yêu cầu URL theo những điều kiện cụ thể.

Ví dụ: bạn cần dùng phương pháp này nếu muốn tất cả URL được sử dụng để truy cập website tự động chuyển sang HTTPS.

Trước tiên, bạn cần bật RewriteEngine bằng cách khai báo câu lệnh sau:

RewriteEngine On

Bạn chỉ cần thực hiện việc này một lần cho mỗi tài liệu, ngay cả khi tạo nhiều quy tắc.

Sau khi bật RewriteEngine, bạn có thể dùng đoạn code này để viết lại tất cả yêu cầu URL sang HTTPS:

RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.ExampleURL.com/$1 [R=301,L]

Dòng đầu tiên kiểm tra xem HTTPS đã có trong URL hiện tại hay chưa. Trong câu lệnh này, “off” có nghĩa là quy tắc mới sẽ áp dụng nếu địa chỉ không chứa HTTPS.

Dòng thứ hai tạo quy tắc. Khi điều kiện được đáp ứng (tức là khi URL không có HTTPS), URL sẽ được viết lại tương ứng.

Cuối cùng, [R=301,L] nghĩa là đây là HTTP 301, hay lệnh chuyển hướng vĩnh viễn. L có nghĩa đây là quy tắc cuối cùng trong tập hợp; sau khi chạy quy tắc này, máy chủ sẽ trả về kết quả.

Kiểm tra lệnh chuyển hướng bằng Site Audit

Duy trì một website là công việc phức tạp, đòi hỏi sự chú ý đến từng chi tiết và rất dễ mắc lỗi. Hãy thường xuyên audit website để đảm bảo website luôn hoạt động tốt.

Site Audit có thể tự động hóa việc này cho bạn bằng cách kiểm tra lỗi, đưa ra đề xuất và giúp bạn ưu tiên những bản sửa quan trọng nhất. Công cụ có thể kiểm tra các vấn đề về lệnh chuyển hướng như:

  • Canonical links
  • Liên kết bị hỏng
  • HTTPS
  • Lệnh chuyển hướng tạm thời
  • Lệnh chuyển hướng vĩnh viễn

Bằng cách tạo các lệnh chuyển hướng hiệu quả và kiểm tra kỹ lưỡng công việc của mình, bạn có thể xây dựng một website hoạt động tốt cho người dùng hiện tại cũng như trên organic search.

Nguồn tham khảo

https://www.semrush.com/blog/htaccess-redirect/ ↗

Đưa góc nhìn thành kế hoạch.

Chia sẻ website và mục tiêu để LionTech tư vấn giải pháp phù hợp.

Đăng ký tư vấn ↗
THÊM MỘT GÓC NHÌN CHO THƯƠNG HIỆU

Để lại website và email để LionTech tiếp nhận yêu cầu báo cáo hiện diện AIO.

Bằng việc gửi, bạn đồng ý để LionTech liên hệ qua email về yêu cầu báo cáo.