Thứ Hai, 14 tháng 9, 2026

So Sánh Quy Tắc RewriteRule Htaccess


Hai dòng này khác nhau ở các Cờ điều hướng (Rewrite Flags) nằm trong dấu ngoặc vuông [...] ở cuối câu lệnh.

Ý nghĩa của các Cờ (Flags)

  • QSA (Query String Append): Cho phép giữ lại và nối tiếp các tham số trên URL (như ?tab=chat) vào URL đích sau khi rewrite.

  • L (Last): Dừng xử lý. Nếu quy tắc này khớp, Apache sẽ không chạy các quy tắc rewrite bên dưới nó nữa.

  • NC (No Case): Không phân biệt chữ hoa, chữ thường khi so khớp URL (ví dụ: tab-noidung, TAB-NOIDUNG, Tab-Noidung đều được chấp nhận).

Phân tích chi tiết từng dòng

Cấu trúcÝ nghĩa xử lý
Dòng 1: [QSA,L]

Nếu người dùng vào /tab-noidung/?tab=chat


→ Apache chuyển tới: modules.php?name=Your_Account&op=user_lienhe_chat&tab=chat


(Tham số ?tab=chat được giữ nguyên và truyền sang PHP)

Dòng 2: [L,NC]

Nếu người dùng vào /tab-noidung/?tab=chat


→ Apache chuyển tới: modules.php?name=Your_Account&op=user_lienhe_chat


(Tham số ?tab=chat bị xóa bỏ, PHP sẽ không nhận được $_GET['tab'])

Sự khác biệt chính & Kết luận

  1. Khả năng nhận tham số URL (?tab=chat):

    • Dòng 1 [QSA,L]: NÊN DÙNG. Giúp PHP lấy được giá trị $_GET['tab'] khi người dùng refresh hoặc truy cập trực tiếp bằng đường dẫn.

    • Dòng 2 [L,NC]: Làm mất tham số đằng sau dấu ?, khiến $_GET['tab'] trong PHP luôn bị rỗng/về mặc định.

  2. Xử lý chữ hoa / chữ thường:

    • Dòng 1: Chỉ nhận URL gõ chính xác chữ thường /tab-noidung/.

    • Dòng 2: Nhận cả /Tab-NoiDung/ nhờ cờ NC.

 

Không có nhận xét nào:

Đăng nhận xét