Bài 01: File htaccess là gì?
1. Định Nghĩa File .htaccess là gì? Htaccess là viết tắt của cụm từ Hypertext Access. File .htaccess là một tập tin dùng để cấu hình máy chủ Web Server Apache trong trường hợp bạn không có quyền cấu hình trên httpd.conf của Apache . File .htaccess có tác dụng trên thư mục hiện hành (nơi chưa ...
1. Định Nghĩa File .htaccess là gì?
Htaccess là viết tắt của cụm từ Hypertext Access. File .htaccess là một tập tin dùng để cấu hình máy chủ Web Server Apache trong trường hợp bạn không có quyền cấu hình trên httpd.conf của Apache. File .htaccess có tác dụng trên thư mục hiện hành (nơi chưa nó) và tất cả các thư mục con. Vì vậy, muốn sử dụng .htacess để quản lí truy cập vào website của mình, đơn giản bạn chỉ việc soạn thảo một file .htaccess, và lưu nó vào thư mục root của website.
Htaccess cung cấp một loạt các chỉ thị, tác động trực tiếp lên cấu hình của lõi web server (Apache) mà không cần phải truy câp vào bên trong hệ thống chỉnh sửa các tập tin config của server ( httpd.conf ).
File .htaccess được viết bởi những quy tắt Regular Expression chứ không phải viết từ một ngôn ngữ lập trình nào cả. 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ó sẽ tác động trực tiếp lên cấu hình lõi của web server nếu bạn chỉnh sửa file với một lỗi nhỏ khi truy cập vào website của bạn sẽ xuất hiện lỗi 500.
2. Enable .htaccess và cách tạo ra một file .htaccess
Không được viết từ một ngôn nghữ lập trình nào. Nhưng tập các quy tắc/chỉ thị của file .htaccess phải tuân theo những quy tắc và chỉ thị được quy định trong Mod_Rewrite. Để thực thì được các quy tắc/chỉ thị trong File .htaccess thì bạn phải cài đặt và bật Mod_Rewrite trong Web Server Apache.
2.1 Mod_Rewtite là gì?
Mod_Rewrite là một module của Apache Web Server, cho phép viết lại địa chỉ của website. Thông thường, Mod_Rewrite chuyển đổi từ một địa chỉ website động sang địa chỉ tĩnh. Quy luật chuyển đổi phân tích địa chỉ website được client gởi đến và dịch sang một địa chỉ mới trước khi thể hiện trên trình duyệt người dùng.
Việc enable htaccess sẽ nằm ở file httpd.conf trên web server bằng việc xóa bỏ ký tự comment code # ở đầu mỗi dòng cài đặt.
LoadModule rewrite_module modules/mod_rewrite.so
Tiếp theo là tìm đến dòng như dưới và xóa ký tự #
AllowOverride All
Để tạo một file .htaccess bạn vào thư mục cần tạo và tạo một file như sau .htaccess. Hay một file chỉ có phần mở rộng là .htaccess và không có tên(noname).
Lưu ý: Đối với một số trình soạn thảo không cho phép đọc file có phần mở rộng là .haccess thì bạn cần thêm vào phần mở rộng đó.
3.Htacess làm được những gì?
Một vài tác dụng cơ bản của htaccess.
- Viết lại đường dẫn thân thiện hơn Rewrite URL
- Cấu hình lại các trang thông báo lỗi (Error 404, 500..vvv)
- Chống hotlink(Ăn cắp băng thông)
- Chặn và cho phép một số IP được và không được truy cập.
- Bảo vệ thư mục.
- Chuyển hướng url, website
- ..v..v
4. Một vài lưu ý khi viết htaccess.
- Mỗi một thư mục có thể tạo một file .htaccess
- File .htaccess sẽ có tác dụng với thư mục hiện hành và các thư mục con của thư mục hiện hành.
- Nếu file .htaccess bị lỗi thì kết quả sẽ trả về client là lỗi 500.
- htaccess được viết bởi những quy tắc Regular Expression
5. Tổng kết.
Trong bài viết này là những kiến thức mà mình đã tổng hợp được trong quá trình làm việc. File .htaccess là một công cụ rất mạnh trong việc quản lí website. Dù gặp phải một lỗi nhỏ cũng làm website của bạn không hoạt động được. Trong các bài tiếp theo mình sẽ cùng các bạn tìm hiểu một số quy tắc & chỉ thị(Directive) trong .htaccess.