File .htaccess là gì? Hướng dẫn cấu hình file .htaccess căn bản

File .htaccess

Với những ai làm SEO hay web đều không lạ lẫm với htaccess. Tuy nhiên, với những ai mới biết lập trình thì chưa hiểu rõ khái niệm và cách tạo file .htaccess một cách thuận tiện và nhanh chóng nhất. Vì thế, bài viết hôm nay sẽ chia sẻ với bạn file .htaccess là gì cũng như hướng dẫn cấu hình file htaccess căn bản nhất, giúp bạn có cái nhìn tổng quát về vấn đề này.

File .htaccess là gì?

.htaccess được hiểu đơn giản như một tập tin siêu văn bản, nó được cấu hình ở cấp thư mục được hỗ trợ từ một vài máy chủ web, cho phép được phân quyền web server. Trong cái tên .htaccess thì htaccess là phần đuôi và nó không có tên, do đó không phải lúc nào file này lên host cũng hiện thị ra.

Khái niệm về file htaccess
Khái niệm về file htaccess

Để thao tác với file .htaccess bạn có thể dùng bất kỳ một editor nào hỗ trợ code text như PHP Designer, Netbeans, hay là notepad có trong window. File .htaccess không được viết bởi một ngôn ngữ lập trình nào, nó được tạo ra bởi những quy tắc Regular Expression. vì thế nếu không nắm chắc kiến thức file .htaccess thì việc thao tác với nó khá khó khăn. Chỉ với một lỗi chỉnh sữa file cực nhỏ thì khi truy cập vào trang web sẽ xuất hiện lỗi 500. Chính vì thế hãy cẩn thận khi chỉnh sửa file .htaccess và luôn nhớ có một file backup trước khi chỉnh sửa nhé.

Thường thì file .htaccess nằm ngay thư mục gốc của hosting. Nên bạn dễ dàng nhìn thấy trong thư mục gốc của hosting có chứa file .htaccess.

Những lưu ý khi dùng .htaccess

– Hãy chắc chắn file .htaccess được bảo mật ổn định, để hạn chế kẻ gian lợi dụng nó.

– Nên lưu 1 file .htaccess trước khi bạn đụng tới chỉnh sửa, để khi xáy ra trục trặc vẫn có thể khôi phục lại.

– Nếu như bạn không nắm rõ được cấu hình hoặc sơ suất dù chỉ là nhỏ đều có thể dẫn đến việc website không thể hoạt động hoặc không đúng như ý muốn của mình trước đấy.

Tính năng cơ bản của .htaccess

Tính năng của .htaccess
Tính năng cơ bản của .htaccess

Chống ăn cắp tài nguyên và băng thông

Đây là tính năng giúp khách hàng chủ động được việc chia sẻ hình ảnh, tài liệu trên website, hạn chế gây lãng phí băng thông có thể thêm phần sau vào file .htaccess :

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]

RewriteRule .* – [F]

Bạn có thể thêm các website muốn chia sẻ hình ảnh tài liệu hoặc chỉ cho mỗi website khách hàng bằng cách thêm dòng RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC] và sửa “yourdomain.com” thành domain khách hàng muốn chia sẻ.

Tính năng chặn IP truy cập

Người dùng có thể tự cấu hình chặn những IP hay domain bằng cách thêm những dòng sau vào file .htaccess:

<Limit GET POST PUT>

order allow,deny

allow from all

deny from x.y.z.v

deny from .*domain\.com.*

</Limit>

Người dùng có thể tự thêm những IP hoặc domain muốn chặn bằng cách thêm dòng deny from x.y.z.v hoặc deny from .*domain\.com.* trong đó x.y.z.v là ip và domain.com là tên miền bạn muốn chặn.

Cấu hình chuyển hướng trong .htaccess

Bạn có thể tự cấu hình bằng cách thêm những dòng này vào file .htaccess:

Nếu chuyển hướng file khách hàng thêm: redirect 301 /old/old.htm http://yourdomain.com/new.htm

Nếu chuyển toàn bộ website sang tên miền mới khách hàng thì:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]

RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]

Hướng dẫn cấu hình file htaccess căn bản

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

Vào file .htaccess đặt 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, dưới đây là những lỗi thường gặp:

400 – Bad request (Lỗi do yêu cầu)

401 – Authorization Required (cần password để truy nhập)

403 – Forbidden (không được vào)

404 – Wrong page ( lỗi không tìm thấy trang, lỗi trang…), xem cách khắc phục tại đây.

500 – Internal Server Error (lỗi server)

Sử dụng hình ảnh để cảnh báo bằng cách chèn vào file .htaccess đoạn mã sau

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

Chống ăn cắp băng thông bằng cách đặt nội dung sau vào file .htaccess

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

Ngăn cản việc hiển các tập tin trong thư mục, thêm nội dung sau vào file .htaccess

Options – Indexes.

Cấm IP truy cập

Deny from 203.262.110.20

Cho phép truy cập: allow from 203.262.110.20.

Tự động load trang index

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

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

Tự động redirect

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

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

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 người dùng tự chọn.

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

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

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

Hoặc

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

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

Thêm đoạn code dưới đây vào .htaccess:

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

Bắt buộc dùng https

Để khách hàng truy cập vào trang web bằng https thì dùng .htaccess để cập nhật:

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

Trên đây là những chia sẻ về file .htaccess là gì cũng như cách hướng dẫn cấu hình file .htaccess căn bản một cách đơn giản nhất. Hy vọng bài viết sẽ hữu ích với bạn. Chúng tôi sẽ có thêm nhiều bài viết chuyên sâu nữa về .htaccess hoặc bạn có nhu cầu tìm hiểu về nội dung này hãy nghiên cứu thêm những tài liệu tiếng anh nhé. Nếu có bất cứ thắc mắc gì về file .htaccess cần được giải đáp, hãy gửi câu hỏi về cho chúng tôi để được tư vấn chi tiết nhất nhé!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *