Open your httpd.conf and check the AllowOverride directive. It should be like;
AllowOverride AuthConfig
See details for Authentication on Apache.
1. Ngăn chặn hotlink
Nhiều người copy ảnh từ server của bạn và đưa lên trang web của họ. Thêm vào .htaccess đoạn mã dưới đây sẽ giúp bạn ngăn chặn ảnh hiển thị trên website khác
Options +FollowSymlinks
#Ngăn chặn hotlink
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?vannyneo.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://vannyneo.com/img/stop_stealing_bandwidth.gif[nc]
2. 301 Redirect
Nếu bạn chuyển domain, hoặc chỉ muốn chuyển một trang cũ về một trang mới và không muốn lo lắng về các kết quả search từ google, sử dụng đoạn mã sau
Redirect 301
/d/file.html http://www.vannyneo.com/r/file.html
3. Chuyển hướng từ tên miền cũ sang tên mới
Sử dụng đoạn mã dưới đây bạn có thể chuyển tất cả các link từ tên miền cũ sang tên miền mới:
#Chuyển hướng từ tên miền cũ sang tên mới
RewriteEngine On
RewriteRule ^(.*)$ http://www.vannyneo.com/$1
[R=301,L]
4. Tạo trang báo lỗi riêng
Bạn không muốn dùng các trang báo lỗi có sẵn của host, bạn có thể tạo các trang báo lỗi riêng và cấu hình vào file htaccess như sau:
ErrorDocument 401
/error/401.php
ErrorDocument 403
/error/403.php
ErrorDocument 404
/error/404.php
ErrorDocument 500
/error/500.php
5. Cấm IP truy cập
Nếu có 1 IP thường xuyên spam website của bạn, bạn có thể cấm IP đó như dòng 2, hoặc cấm 1 dải IP như dòng 3:
allow from all
deny from 113.190.183.138
deny from 113.190
6. Đặt email mặc định cho server admin
Sử dụng đoạn mã sau
ServerSignature EMail
SetEnv SERVER_ADMIN default@vannyneo.com
7. Bảo vệ file
Đoạn mã dưới đây sẽ từ chối khi người dùng truy cập vào bất kỳ file nào và gửi về lỗi 403.
#Bảo vệ .htaccess File
order allow,deny
deny from all
5
8. Đặt mã cho thư mục và file
Bạn có thể đặt mã & quyền truy cập vào thư mục/file như sau:
# Đặt mã cho thư mục
resides
AuthType basic
AuthName "Thư mục này đã được bảo vệ"
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
# Đặt mã cho file
AuthType Basic
AuthName "Prompt"
AuthUserFile /home/path/.htpasswd
Require valid-user
9. Đặt trang mặc định
Bạn có thể đặt trang web mặc định cho thư mục nào đó. Ví dụ đặt file about.html thay cho file index.html:
#Đặt trang mặc định (index)
DirectoryIndex about.html
10. Nén file bằng cách bật Gzip
Bằng cách bật Gzip bạn có thể nén file từ server giúp cho việc tải trang nhanh hơn
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4
gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
11. Bỏ "category" ở URL
Để chuyển url từ: http://vannyneo.com/category/tong-hop về -> http://vannyneo.com/tong-hop, bạn chỉ cần thêm vào file .htaccess đoạn mã sau
RewriteRule ^category/(.+)$ http://www.vannyneo.com/$1
[R=301,L]
12. Bỏ phần đuôi file ở URL
Bạn mới lập trình php và không muốn hiện .php ở url, hãy thêm đoạn code sau:
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
13. Thêm / vào cuối URL
Một vài bộ máy tìm kiếm (như Yahoo)tự động bỏ dấu / ở cuối url. Website của bạn cũng có thể được truy cập có hoặc không có dấu / ở sau cùng url. Điều này không tốt với các bộ máy tìm kiếm (sẽ bị coi là duplicated content). Thêm đoạn mã dưới đây vào .htaccess để giải quyết vấn đề đó
#Thêm / vào cuối URL
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://vannyneo.com/$1/ [L,R=301]
14. Bỏ www ở URL
Nếu bạn muốn chuyển mọi truy cập từ http://www.example.com thành http://example.com, thêm đoạn mã sau vào file .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1
[L,R=301]
15. Thêm www vào URL
Tất nhiên nếu bạn muốn ngược lại "14" bạn có thể dùng đoạn mã sau
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1
[L,R=301]
16. Không cho "browse" thư mục
Để ngăn chặn truy cập vào tên file trong thư mục nào đó (ví dụ thư mục plugins của wordpress), thêm đoạn mã sau vào file .htacess:
Options All -Indexes
ở file .htaccess bạn thêm vào:
order allow,deny
deny from [ip cần cấm]
deny from [1 ip khác]
deny from [1 vài ip khác]
allow from all
cấu trúc IP VD: 210.245.24.22
order deny,allow
deny from all
allow from 58.186.101.237
allow from 58.186.101.236
http://my.opera.com/manhtn/blog/su-dung-htaccess-va-htpasswd
Ha..ha...hôm nay ta đã hiểu .htaccess và htpasswd làm gì rồi.....nó được sử dụng trên webserver Apache, rất hữu ích khi sử dụng trong trang web như giấu link, giấu file, tự động link sang trang mới,....làm cho website mạnh mẽ và an toàn hơn.
1.Thiết lập chế độ để sử dụng được 2 file này.
Tìm file cấu hình của Apache thường là httpd.conf(hoặc là access.conf) tìm và thay thế đoạn mã AllowOverride None thành AllowOverride AuthConfig rồi save nó. Khởi động lại Apache là có thể sử dụng 2 file này.
2.Tạo 2 file này.
Sử dụng notepad để soạn thảo hoặc có thể sử dụng bất cứ trình soạn thảo nào lưu lại nó với tên .htaccess và .htpasswd
3.Sử dụng 2 file trên.
+, Tạo Trang báo lỗi:
Trong quá trình làm việc với client, nếu có lỗi xảy ra thì Apache sẽ báo lỗi bằng một trang có sẵn hiển thị mã lỗi đó. Khi sử dụng .htaccess có thể tự tạo trang báo lỗi riêng cho mình.
Để làm được điều đó thì trong tập tin .htaccess thêm các dòng như sau:
ErrorDocument mã số lỗi/trangloi.html
trong đó số mã lỗi là số mã lỗi phát sinh khi truy cập trang web, đây là những lỗi thường gặp:
. 401 - Authorization Required(yêu cầu password để truy cập)
. 400 - Bad required(yêu cầu lỗi)
. 403 - Forbidden(không được vào)
. 500 - Internal Server Error(lỗi do Server)
. 404 - Wrong page(lỗi trang, có thể không tìm thấy trang)
còn trangloi.html là trang web muốn hiển thị lỗi phát sinh, có thể đưa vào trang này bất cứ nội dung gì, chẳng hạn liên kết trở về trang chính của trang web.
ví dụ: gõ vào trong tập tin .htaccess như lỗi 404 như sau: ErrorDocument 404/trangloi.html
+, Chống ăn cắp băng thông(badwidth)
Thông thường những dịch vụ lưu trữ web cung cấp cho một lượng dữ liệu luân chuyển(data transfer) nhất định hàng tháng khi sử dụng hết lượng dữ liệu này, website sẽ tự động bị đóng cửa. Và 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, ... bị các website khác "chôm chỉa"(thường là sử dụng thủ thuật đơn giản) làm cho lượng dữ liệu luân chuyển tăng lên, thì sẽ phải trả thêm tiền cho cái mà mình không sử dụng. Sử dụng tập tin .htaccess là một giải pháp rất tốt! Để ngăn chặn việc sử dụng trái phép hình ảnh trên website. Chỉ cần đưa vào tập tin .htaccess nội dung sau:RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
chỉ cần thay đổi trangweb.com thành địa chỉ website của mình là ok.
Có thể sử dụng hình ảnh nào đó cảnh báo những kẻ "chôm chỉa" băng thông sử dụng dòng lệnh sau:RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.trangweb.com/diehotlinker.jpg [R,L]
+, 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 hay default, thì Apache sẽ hiển thị một danh sách liệt kê các tập tin trong thư mục đó. Tuy nhiên nếu đây là những tài liệu nhạy cảm, không muốn người khác thấy, thì thêm vào file .htaccess dòng lệnh sau:Options –Indexes
+, Thay thế trang index
Thông thường khi truy nhập vào một trang web, Apache sẽ tìm đến tập tin index.html hoặc default.html để tra kết quả về cho trình duyệt, có thể sử dụng .htaccess để thay đổi mặc định này:DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm
với dòng lệnh này thì 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ẽ là trang index của thư mục.
+, Cấm hạn chế IP truy nhập
Một số người muốn làm "lụt"(flood) trang web, việc cần làm là ngăn cấm những IP của những người này truy cập vào trang web, thêm đoạn mã sau vào .htaccess:
dùng để ngăn cấm địa chỉ IP là 203.262.110.20 truy cập vào trang web.deny from 203.262.110.20
Cho phép địa chỉ IP truy nhập trang web:allow from 203.262.110.20
Nếu sử dụng IP dưới dạng: 203.262.110 thì sẽ cấm tất cả các IP có địa chỉ từ 203.262.110.1 đến 203.262.110.254.
Cấm tất cả mọi truy cập đến trang web trong thư mục sử dụng:deny from all
tuy nhiên các tập tin trong đó vẫn có thể sử dụng từ bên ngoài thông qua các lệnh dạng require hay include(trong lập trình PHP).
+, Bảo vệ thư mục.
sử dụng 2 file .htaccess và .htpasswd trong cho việc bảo vệ thư mục và chống flood.
tạo file .htaccess có nội dung như sau:AuthUserFile “đường dẫn đến tập tin .htpasswd”
AuthName “dòng văn bản hiển thị”
AuthType Basic
require valid-user
trong đó valid-user sẽ chỉ định các thành viên với mật khẩu trong tập tin .htpasswd, nếu bạn muốn định rõ một thành viên nào đó thì thay đổi dòng này như sau:require user tên_user
sau đó tạo một file .htpasswd với nội dung như sau:User: password
gõ tên user đăng nhập rồi đến dấu ":" rồi gõ mật khẩu đăng nhập.
ví dụ sử dụng file .htaccess như sau:AuthUserFile "/home/username/public_html/forum/.htpasswd"
AuthName "Anti Stupid Flooders! User=anti Pass=1 khoang trang"
AuthType Basic
require valid-user
Ở đây /home/username/public_html/forum/.htpasswd ->chính là đường dẫn đến tập tin .htpasswd
User=anti Pass=$# là dòng chữ hiện lên trên bảng đăng nhập, muốn viết gì cũng được.
+, Tự động chuyển đến địa chỉ mới
Muốn chuyển trang web đến địa chỉ mới, redirect truy cập từ xa bằng một lệnh đơn giản sau:Redirect/olddirectory http://www.trangwebmoi.com/thumucmoi
+, Tùy biến đuôi tập tin.
Thông thường tùy thuộc vào ngôn ngữ lập trình web mà sử dụng tập tin 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 thì có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin và trả về cho trình duyệt web với phần mở rộng do mình quy định trong .htaccess. Sử dụng đoạn lệnh sau trong tập tin .htaccess: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 mình lựa chọn. Chú ý liên kết trên trang web, 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ụ như: http://www.trangweb.com/index.dll
+, để sử dụng
--->Chú ý khi sử dụng .htaccess
. - Chỉ sử dụng .htaccess trên Apache đã bật chế độ .htaccess, nếu chưa có thì liên hệ với nhà cung cấp hosting để họ có thể đáp ứng.
. - .htaccess chỉ có tác dụng 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 thì nó chỉ có tác dụng với thư mục chứa nó và thư mục con. Không có tác dụng với các thư mục cha, mẹ.
. - Có thể sử 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 có thể CHMODE với giá trị 644.
2 comments:
Nhớ ghi rỏ nguồn nha bạn. Bài này của Ntuts mà
Post a Comment