Tìm hiểu file .htaccess

File .htaccess dùng thay đổi cấu hình máy chủ chạy Apache. Nó ảnh hưởng toàn bộ file/thư mục bên trong thư mục chứa nó. htaccess viết tắt của hypertext access

htaccess là gì

.htaccess (hypertext access) là file dùng để thay đổi cấu hình trên các máy chủ (Web Server) chạy Apache.

.htaccess rất mạnh mẽ, kiểm soát cấu hình cấp cao của trang web. Nó thực hiện các thay đổi cấu hình trang web của mình mà không cần phải chỉnh sửa file cấu hình server.

.htaccess có thể bật/tắt các tính năng mà máy chủ chạy Apache cung cấp, có thể là: chuyển hướng URL, rút ngắn URL, kiểm soát truy cập (cho phép hay ngăn chặn, …), …

.htaccess không phải là định dạng file mà là một tên file, và không nên thay đổi thành tên khác.

.htaccess có phạm vi ảnh hưởng với toàn bộ file/thư mục bên trong thư mục chứa nó, với những thư mục bên ngoài nếu muốn bị ảnh hưởng thì bạn phải khai báo.

Có thể tạo file này bằng cách sử dụng các công cụ editor sau đó save lại với tên file .htaccess

Phải thận trọng khi thay đổi nội dung file .htaccess, nếu sai nó sẽ ảnh hưởng toàn bộ trang web, hoặc báo lỗi.

Khi thao tác với .htaccess, nếu chỉnh code mà nội dung không thấy được cập nhật mới, thì nên clear cache hoặc test bằng trình duyệt khác, hoặc trình duyệt ẩn danh.

Ví dụ cơ bản về htaccess

order allow,deny
deny from 210.165.23.15
allow from all

Đoạn code trên được hiểu là cho phép tất cả truy cập, trừ ip 210.165.23.15

Flag trong htaccess

RewriteRule pattern target [Flag1,Flag2,Flag3]

pattern: Mẫu cần xử lý target: Mục tiêu hướng tới

Flag1,Flag2,Flag3 theo quy định dưới đây.

# – Comment (Viết comment)

[C] – Chain (Sẽ thực thi rule cùng lúc với rule tiếp theo nếu match, ngược lại sẽ bỏ qua rule tiếp theo.)

[CO] – Cookie (Flag [C] hay [cookie] Cho phép xét cookie tùy theo điều kiện RewriteRule.
Đoạn code sau sẽ set cookie cho trang web theo đường dẫn tương ứng)

RewriteEngine On RewriteRule "^/index\.html" "-" [CO=cookiename:yes:.example.com:1440:/]

[E] – Env (Flag [E] hay env Cho phép thiết lập cho biến môi trường, có thể thiết lập trực tiếp với [E=biến:giá trị] hoặc [E=!biến].
Đoạn code sau sẽ set biến môi trường image với giá trị là 1 nếu request URI là một image, sau đó các biến này sẽ không được dùng trong access_log)

RewriteRule "\.(png|gif|jpg)$" "-" [E=image:1] CustomLog "logs/access_log" combined env=!image

 

RewriteRule "(.*\.(jpg|gif|png))$" "http://example.com$1" [P,NC]

 

CÓ THỂ BẠN QUAN TÂM

Dầu gội, sữa tắm thảo dược

dầu gội thảo dược, sữa tắm thảo dược


Tìm kiếm tên miền đẹp