1. File .htaccess là gì?
Ở đây file .htaccess hay được gọi là hypertext access là một file cấu hình sử dụng cho webserver chạy Apache, có tác dụng trên thư mục hiện hành và tất cả thư mục con, nó được dùng để thiết lập các tùy chọn như thực thi hay loại bỏ tính năng, quản lí các truy cập website v.v…
2. 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.
3. 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]