Tập tin .htaccess trên hệ điều hành Unix PHP là gì ?

Tác giả admin+, T.Ba 13, 2011, 01:57:36 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 5 Khách đang xem chủ đề.

Tập tin .htaccess trên hệ điều hành Unix PHP là gì ?


.htaccess là một tập tin đượ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.

Các chức năng cơ bản và hữu dụng của tập tin .htaccess(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:

Mã nguồn [Chọn]
ErrorDocument mã số lỗi /trangloi.html
Trong đó ErrorDocument là Câu lệnh của tệp tin ( ko đượ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...)

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

Mã nguồn [Chọn]
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 làm tốn 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:

Mã nguồn [Chọn]
RewriteEngine on RewriteCond %{[Only registered and activated users can see links]} !^$ RewriteCond %{[Only registered and activated users can see links]} !^[Only registered and activated users can see links]([Only registered and activated users can see links])?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   Đăng nhập để xem liên kết 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:

Mã nguồn [Chọn]
RewriteEngine on RewriteCond %{[Only registered and activated users can see links]} !^$ RewriteCond %{[Only registered and activated users can see links]} !^[Only registered and activated users can see links]([Only registered and activated users can see links])?trangweb\.com/.*$ [NC] RewriteRule \.(gif|jpg)$ [Only registered and activated users can see links] [R*L]
Bạn nhớ thay cái link [Only registered and activated users can see links] ([Only registered and activated users can see links]) thành link IMAGE mà bạn muốn hiển thị khi bị ăn cắp IMAGE.

3. Thay 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.

Mã nguồn [Chọn]
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.

4. 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:

Mã nguồn [Chọn]
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:

Mã nguồn [Chọn]
order allow*deny
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

Hai đ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)

5. 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: [Only registered and activated users can see links] ([Only registered and activated users can see links]) và   Đăng nhập để xem liên kết)

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:

Mã nguồn [Chọn]
RewriteEngine On
RewriteCond %{[Only registered and activated users can see links]} !^\.yourdomain\.com$[NC]
RewriteRule ^(.*)$ [Only registered and activated users can see links] [R=301*L]