Tìm hiểu và một số tut cấu hình .htaccess

A .htaccess là gì ?????
.htaccess là một tập tin thường được đặt trên các máy chủ hệ Unix (FreeBSD* Linux* Solaris* True64…) và .htaccess chỉ được cấu hình ở mức thư mục.
– Tập tin này có thể điều khiển được khá nhiều thứ* thậm chí thay đổi được cả thiết lập mặc định của máy chủ Apache.
– Nếu khai thác tốt .htaccess* ta có thể làm nhiều việc khá dễ dàng chỉ với vài dòng lệnh.

Lưu ý khi sử dụng tập tin .htaccess:

  • Chỉ áp dụng trên máy chủ Apache đã bật chế độ .htaccess* nếu chưa bạn hãy thử liên hệ với nhà cung cấp dich vụ hosting.
  • (Tại localhost*chỉ một số phần mềm tạo local mới chạy được chức năng này*Pumama thấy VertrigoServ là hoạt động hiệu quả nhất)
  • Để tạo ra tập tin này bạn có thể sử dụng ngay chương trình Notepad của Windows: chọn chế độ Save as với tên ".htaccess" (ghi cả dấu " để Notepad không tự thêm đuôi .txt).
  • .htaccess chỉ có tác dụng đối với những tập tin ngang hàng (trong cùng thư mục với nó) hoặc thư mục con. Với thư mục* nó chỉ có tác dụng trong thư mục chứa nó và [separator]thư mục con* còn vô tác dụng với thư mục mẹ (parent directory).
  • Bạn có thể dùng một số chương trình FTP để tải tập tin .htaccess lên host của mình với chế độ ASCII* nếu nó vẫn không hoạt động bạn thử chmod với giá trị 644.

B. Các chức năng cơ bản và hữu dụng của tập tin .htaccess mà tôi tổng hợp từ nhiều nguồn khác nhau (tất nhiên là còn nhìu cách khác):

1. Tạo trang báo lỗi mang màu sắc cá nhân
-Trong quá trình làm việc với client* nếu có lỗi xảy ra (ví dụ như không tìm thấy tập tin) thì Apache sẽ báo lỗi bằng một trang có sẵn hiển thị mã số của lỗi đó* rất không đẹp và khó hiểu.
-Với .haccess thì bạn có thể tự tạo các trang báo lỗi hay hơn. Để làm được điều này thì trong tập tin .htaccess bạn thêm dòng sau:

Code: ErrorDocument [mã số lỗi]/trangloi.html

Trong đó ErrorDocument là Câu lệnh của tệp tin ( không được thay đổi)

  • mã số lỗi là một số tự nhiên
  • trangloi.html là trang web mà bạn muốn hiển thị khi lỗi phát sinh* có thể đưa vào .Tập tin này nội dung hay đồ hoạ gì tùy bạn* chẳng hạn liên kết trở về trang chính của trang web
    Các mã số lỗi hay gặp là :

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…)

VD: Ta có câu lệnh sau trong .htaccess:

Code: ErrorDocument 404/loi404.html

Khi bị dính lỗi này : Trình duyệt sẽ tự động chuyển bạn đến trang loi.404.html nằm ngang hàng với tệp tin .htaccess

2.Chống ăn cắp băng thông (bandwidth)

– Thông thường những dịch vụ lưu trữ web chỉ cung cấp cho bạn một lượng BW nhất định hàng tháng và khi bạn sử dụng hết lượng dữ liệu này* website của bạn sẽ tự động bị đóng cửa. Bạn sẽ phải trả thêm tiền cho lượng băng thông vượt quá hoặc phải buộc lòng chờ đến tháng sau.
– Nếu hình ảnh* dữ liệu* … của bạn bị các website khác “ăn trộm” (bằng các thủ thuật đơn giản vd:cặp tag [IMG]) làm cho lượng BW của bạn tăng lên* thì có nghĩa là bạn sẽ phải trả tiền cho cái mà bạn không sử dụng. Sử dụng tập tin .htaccess là một giải pháp hoàn hảo* để ngăn chặn việc sử dụng hình ảnh trái phép trên website của bạn. Bạn chỉ việc đưa vào tập tin .htaccess nội dung sau :

Code:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

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

RewriteRule \.(gif|jpg)$ – [F]

Ở đoạn mã trên Pumama sử dụng module Rewrite của máy chủ Apache bạn chỉ việc thay đổi trangweb.com thành địa chỉ website của mình.
Thế là ai link đến trang của bạn tùy thích nhưng mà link đến các ảnh sẽ bị lỗi nặng nề.
Hoặc Có thể sử dụng một hình ảnh nào đó cảnh cáo những kẻ “ăn trộm” BW bạn dùng dòng lệnh sau:

Code:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

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

RewriteRule \.(gif|jpg)$ http://www.trangweb.com/diehotlinker.jpg [R*L]

Bạn nhớ thay cái link http://www.trangweb.com/diehotlinker.jpg thành link IMAGE mà bạn muốn hiển thị khi bị ăn cắp IMAGE.

3. Không cho hiện danh sách tập tin trong thư mục

Trong trường hợp một thư mục nào đó không có tập tin index hoặc default, Apache sẽ hiển thị một danh sách liệt kê những tập tin có trong thư mục đó. Tuy nhiên nếu đây là những tài liệu nhạy cảm, bạn không muốn người khác thấy, hãy thêm lệnh sau vào tập tin .htaccess

Code:

Options –Indexes

4Thay thế trang index

– Thông thường khi truy nhập vào một trang web* Apache sẽ tìm tập tin index.htm hoặc default.htm trả kết quả về cho trình duyệt* bạn có thể dùng .htaccess thay đổi mặc định này.

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

Với dòng lệnh này thì tất cả các tập tin được liệt kê sẽ được tìm theo thứ tự khi có yêu cầu tới thư mục hiện hành, trang nào được tìm thấy đầu tiên sẽ thành trang index của thư mục.

5.Cấm/hạn chế IP truy nhập(rất hay )

Bạn phát hiện ra có một số người phá trang web bạn hay thực hiện những hành vi ko chính đáng làm tổn hại đến trang web của bạn (vd điển hình là bấm nhìu lần vô quảng cáo Google ).Bạn muốn ngăn cấm ko cho người đó típ tục phá phách? .Dòng lệnh sau trong tập tin .htaccess sẽ giúp bạn một cách triệt để và hiệu quả .
+Chỉ cho phép một số IP truy cập:

Code:

order deny,allow
deny from all
allow from IP
allow from 203.162.*
Với deny là cấm 
- allow là cho phép 
- order deny*allow phải có
Bạn có thể để Ip dạng 203.162.*(có thể thay đổi tùy bạn) - việc này sẽ cấm các Ip bắt đầu bằng 203.162
+Cấm một số ip truy cập:

Code:

order allow,eny
allow from all
deny from IP
deny from 203.162.*

Với deny là cấm

allow là cho phép

order deny*allow phải có

Bạn có thể để Ip dạng 203.162.*(có thể thay đổi tùy bạn) – việc này sẽ cấm các Ip bắt đầu bằng 203.162

PS: 2 đoạn code trên rất hữu dụng với các WebMaster trong việc bảo mật.Nó sẽ ngăn ko cho các IP ko hợp lệ vô trang Admin(bạn phải đặt .htaccess trong file ADMIN thì mới có tác dụng)

6. 301 redirect

-Cách này sẽ giúp cho các WebMaster mong muốn kiếm tiền từ quảng cáo(nhất là GA) nó sẽ bắt người dùng sử dụng một tên miền nhất định do bạn chọn (một domain sẽ có 2 kiểu địa chỉ (Vd: www.pumamavn.com và pumamavn.com)

Sử dụng cả 2 kiểu địa chỉ sẽ làm giảm traffic của site bạn nên Pumama lựa chọn cách sau để tối ưu hóa link nhằm thân thiện hơn với các hệ thống quảng cáo.

Bạn thêm code sau vào .htaccess:

Code:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^\.pumamavn\.com$[NC]
RewriteRule ^(.*)$ http://www.pumamavn.com [R=301*L]

– Bạn phải thay pumamavn.com bằng địa chỉ của bạn.Các câu lệnh trên sẽ chuyển tất cả các địa chỉ pumamavn.com thành _www.pumamavn.com

7. Tuỳ biến đuôi tập tin

Thông thường, tuỳ thuộc vào ngôn ngữ lập trình web mà bạn sử dụng tập tin sẽ có phần mở rộng khác nhau như: html, htm, asp, aspx, php, cgi, …Tuy nhiên nếu sử dụng .htaccess bạn có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin của bạn và trả về cho trình duyệt web của người dùng với phần mở rộng do bạn quy định trong .htaccess. Bạn sử dụng đoạn lệnh sau trong tập tin .htaccess:

Code:

RewriteEngine on

RewriteRule (.*)\.dll$ $1.html

Html là phần mở rộng thực sự của những tập tin trên website, dll là phần mở rộng do bạn lựa chọn. Lưu ý trong liên kết trên trang web, bạn phải gọi đúng đường dẫn đến tập tin với phần mở rộng mới (ở trên là dll), ví dụ http://www.trangweb.com/in dex.dll

Lưu ý khi sử dụng tập tin .htaccess:

– Chỉ áp dụng trên máy chủ Apache đã bật chế độ .htaccess, nếu chưa bạn hãy thử liên hệ với nhà cung cấp dich vụ hosting.

– Để tạo ra tập tin này bạn có thể sử dụng ngay chương trình Notepad của Windows: chọn chế độ save as với tên .htaccess, nhưng khi lưu nhớ bỏ đuôi txt.

-.htaccess chỉ có tác dụng đối với những tập tin ngang hàng (trong cùng thư mục với nó) hoặc thư mục con. Với thư mục, nó chỉ có tác dụng trong thư mục chứa nó và thư mục con, còn vô tác dụng với thư mục mẹ (parent directory).

– Bạn có thể dùng một số chương trình FTP (Leaf FTP, WS FTP, Cute FTP) để tải tập tin .htaccess lên hosting của mình với chế độ ASCII, nếu nó không hoạt động bạn thử CHMOD với giá trị 644.

Nguồn tổng hợp

Posted on 15/11/2010, in Tổng quan công nghệ, Thủ Thuật and tagged . Bookmark the permalink. Để lại bình luận.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: