Toán tử trong htaccess

Toán tử trong htaccess

  • Bài trước các bạn đã biết flag là gì rồi, bài này sẽ tiếp tục giới thiệu các bạn các toán tử thường dùng trong htaccess.
  • Bạn không cần phải học thuộc các toán tử này, chỉ để dành tham khảo khi cần thôi.
RewriteRule pattern target [Flag]
  • Các toán tử được viết tại pattern và target bên trên.

Ví dụ:

RewriteRule "(.*\.(jpg|gif|png))$" "http://example.com$1" [P,NC]
  • Bên dưới đây là ý nghĩa của từng loại toán tử được htaccess dùng:
Toán tử Mô tả
+ Match với một hoặc nhiều ký tự.
* Match với 0 hoặc nhiều ký tự.
^ Bắt đầu chuỗi regex.
$ Kết thúc chuỗi regex.
? cho phép chọn lựa ký tự.
! Phủ định, ngược lại giá trị đứng sau nó.
. Đại diện cho ký tự bất kỳ.
| Hoặc
\ Đứng trước ký tự đặc biệt, biến chúng thành ký tự thường.
.* Không có ký tự nào hoặc nhiều ký tự bất kỳ.
^$ Chuỗi rỗng.
^.*$ Match tất cả.
$n Tham khảo các kết quả được đánh số từ các điều kiện RewriteCond.
() Nhóm các rule.
[a-z] Match các ký tự thường từ a tới z.
[A-Z] Match các ký tự hoa từ A tới Z.
[a-zA-Z] Match các ký tự thường và hoa từ a tới z.
[0-9] Match các ký tự số từ 0 tới 9.
[a-zA-Z0-9] Match các ký tự thường, hoa từ a tới z và số từ 0 tới 9.
a{n} Match bắt đầu từ ký tự đầu, sau đó lấy tiếp n ký tự tiếp theo.
a{n,} Match bắt đầu từ ký tự đầu, sau đó lấy tiếp nhiều hơn n ký tự tiếp theo.
a{n,m} Match bắt đầu từ ký tự đầu, sau đó lấy tiếp nhiều hơn n cho tới m ký tự tiếp theo.
[a-z]{n,m} Match ký tự từ a tới z dài từ n tới m.
[a-zA-Z]{n,m} Match ký tự thường và hoa từ a tới z dài từ n tới m.
[0-9]{n} Match ký tự số dài n ký tự.
[0-9]{n,m} Match ký tự số dài n đến m ký tự.
  • Một số ký tự điều kiện:
Ký tự Mô tả
-d Kiểm tra xem thư mục có tồn tại không.
-f Kiểm tra xem file có tồn tại không.
-s Kiểm tra xem file có khác 0 hay không.