Khái niệm, định nghĩa htaccess (Hypertext Access) là gì?

Hypertext Access hay còn gọi là htaccess là một tập tin dùng để cấu hình máy chủ web apache. Nó được máy chủ chấp nhận như là một thành phần và cho phép chúng ta thực hiện điều hướng và bật các tính năng một cách linh hoạt hoặc bảo vệ một phần (folder) nào đó của trang web.

Trong cái tên .htaccess thì htaccess là phần đuôi và tập tin này là không có tên (noname), chính vì thế khi bạn đưa file này lên host không phải lúc nào nó cũng hiển thị ra.  Ví dụ bạn dùng Total Commander để xử lý file FTP thì bạn sẽ không thể thấy file .htaccess được.

Để thao tác với file .htaccess ta có thể sử dụng bất kì một editor nào hỗ trợ code text như Netbeans, PHP Designer, hay thậm chí là phần mềm notepadd có sẵn trong window.

File .Htaccess không được viết nên từ một ngôn ngữ lập trình nào, nó được viết bởi những quy tắc Regular Expression nên nếu bạn không nắm vững kiến thức này thì thao tác với file .htaccess rất khó khăn. Và nếu bạn chỉnh sửa file với một lỗi dù chỉ là nhỏ thì khi truy cập vào website của bạn sẽ xuất hiện lỗi 500, như vậy là bạn đã HACK được web mình rồi đấy. Vì thế hãy thận trọng khi chỉnh sửa file .htaccess và hãy luôn luôn có một file backup trước khi đụng đến.

Một vài quy tắc trong file .htaccess

Sau phần định nghĩa file .htaccess là gì? thì ta sẽ tìm hiểu một số quy tắc và ứng dụng của file htaccess.

Có thể dùng ký tự # để đặt trước một dòng mà bạn muốn nó không chạy, tức là chuyển dòng đó sang chế độ chú thích.

File .htaccess sẽ có tác dụng với thư mục hiện tại và các thư mục con của thư mục hiện tại.

Nếu file .htaccess bị lỗi thì kết quả sẽ trả về client là lỗi 500. Nên bạn phải cẩn thật khi chỉnh sửa nó và trước khi chỉnh sửa nên copy ra một file dùng làm backup.

Có thể sử dụng file .htaccess để viết lại đường dẫn, bảo vệ thư mục và file, bật chức năng cache và gzip giúp tốc độ trang web được cải thiện hơn. Và còn nhiều điều nữa mà tôi không thể biết hết được.

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

–       Nếu như người dùng không nắm rõ hoặc có sơ suất trong quá trình cấu hình đều có thể khiến website của bạn có thể không hoạt động hoặc không như ý muốn của người dùng như trước.

–       Phải đảm bảo file .htaccess được bảo mật một cách nhất định, để tránh nhưng kẻ xấu lợi dụng nó.

–       Cần lưu lại một file .htaccess trước khi tiến hành chỉnh sửa. Nếu có trục trặc xảy ra vẫn có thể khôi phục lại.

Các cấu hình cơ bản của .htaccess

Sau đây là một số công dụng phổ biến của file .htaccess:

Thay đổi trang báo lỗi với .htaccess

đặt vào file .htaccess nội dung như sau

ErrorDocument mã số lỗi /trangloi.html

Trong đó mã số lỗi là mã số của các lỗi phát sinh, sau đây là những lỗi hay gặp:

401 – Authorization Required (cần password để truy nhập)
400 – Bad request (Lỗi do yêu cầu)
403 – Forbidden (không được vào)
500 – Internal Server Error (lỗi server)
404 – Wrong page (lỗi trang, không tìm thấy…)

Chống ăn cắp băng thông

đặt vào file .htaccess nội dung như sau

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourwebsite.com/.*$ [NC]
RewriteRule .(gif|jpg)$ – [F]

Có thể dùng một hình ảnh để cảnh báo bằng cách chèn đoạn mã sau vào file .htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?tailieulinux.com/.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.trangweb.com/diehotlinker.jpg [R,L]

Ngăn việc hiện các tập tin trong thư mục

đặt vào file .htaccess nội dung như sau

Options –Indexes

Tự động load trang index

dùng đoạn mã sau

DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm

File nào có theo thứ tự gần nhất sẽ được ưu tiên xuất hiện

Cấm IP truy cập

dùng đoạn mã sau

deny from 203.262.110.20; cho phép IP truy nhập: allow from 203.262.110.20

Tự động redirect

dùng đoạn mã sau

Redirect/olddirectory http://www.trangwebmoi.com/thumucmoi ;

Tùy biến đuôi tập tin

dùng đoạn mã sau

RewriteEngine on
RewriteRule (.*).dll$ $1.html

Trong đó html là phần mở rộng thực sự của những tập tin, dll là phần mở rộng do chúng ta tự chọn.

Tự động chèn www vào address bar

chèn đoạn code sau vào .htaccess để website tự động chèn www vào address bar

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.yourdomain.com$
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301]

Hoặc

RewriteCond %{HTTP_HOST} !^www. [NC]

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Tự động xóa www khỏi address bar

Chèn đoạn code sau vào .htaccess để website tự động bỏ www

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Bắt buộc dùng https

Để ép buộc client phải truy cập vào website bằng https, có thể dùng .htaccess để cập nhật như sau

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

Theo vinahost.vn và freetuts.net