
1. Ch ng hotlink:ố
Hotlink nghĩa là m t t p tin c a ta đ c đ c tr c ti p t trang khác. Thí d : b n cóộ ậ ủ ượ ọ ự ế ừ ụ ạ
m t nh JPEG r t đ p 200KB máy ch c a b n, nh ng ng i khác l i dùng thộ ả ấ ẹ ở ủ ủ ạ ư ườ ạ ẻ
<IMG> đ hi n th hình nh này trang web c a h . Đây là hành vi ăn c p băng thôngể ể ị ả ở ủ ọ ắ
c a b n, vì m i ng i xem không ai biêt r ng cái nh đó c a b n, và b n đã m t băngủ ạ ọ ườ ằ ả ủ ạ ạ ấ
thông m t cách vô ích.ộ
R t may, h u h t các trình duy t khi yêu c u m t t p tin đ u có g i kèm m t thông sấ ầ ế ệ ầ ộ ậ ề ử ộ ố
cho bi t nó đ c yêu c u t trang web nào. V y b n ch c n đ n gi n m t câu ki mế ượ ầ ừ ậ ạ ỉ ầ ơ ả ộ ể
tra là xong.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yoursite\.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://your-ip.*$ [NC]
RewriteRule .*\.(jpg|gif)$ http://www.yoursite.com/hotlink.jpg [NC]
Trong đó hotlink.jpg là nh s thay th các nh kia (b n có th ghi m t câu thông báoả ẽ ể ả ạ ể ộ
ch ng h n vào t m nh đó). Và t t c nh đ c link đ n t trang khác s không hi nẳ ạ ấ ả ấ ả ả ượ ế ừ ẽ ệ
ra, mà đ c thay b ng nh hotlink.jpg. T t nhiên, b n có th s a l i đ ngăn các t pượ ằ ả ấ ạ ể ử ạ ể ậ
tin khác ngoài GIF và JPG.
Đôi khi, b n mu n ch ng hotlink trong th m c gallery thôi ch ng h n, thì dòng cu iạ ố ố ư ụ ẳ ạ ố
c n s a l i thành:ầ ử ạ
RewriteRule .*gallery.*\.(jpg|gif)$
http://www.yoursite.com/hotlink.jpg [NC]
2. Trang báo l i:ỗ
Bình th ng, khi g p l i, b n s nh n đ c m t thông báo chán ng n t Apache. Tuyườ ặ ỗ ạ ẽ ậ ượ ộ ắ ừ
nhiên, v i .htaccess b n có th tuỳ bi n trang thông báo này. Thí d sau t o thông báoớ ạ ể ế ụ ạ
l i tuỳ bi n cho các l i 403 (c m truy c p) và 404 (trang không t n t i), trong đó n iỗ ế ỗ ấ ậ ồ ạ ộ
dung file error_forbidden.htm và error_notfound.htm do b n quy t đ nh, ví d nh đ aạ ế ị ụ ư ư
ra m t form tìm ki m n i dung trong trang, c u hình l i đúng đ i s trên trang vv...:ộ ế ộ ấ ạ ố ố
ErrorDocument 403 /error_forbidden.htm
ErrorDocument 404 /error_notfound.htm
3. Ch n trang web theo th i đi m:ọ ờ ể
Đo n mã sau đây s hi n th trang sleep.htm n u ai đó truy c p vào trang c a b n trongạ ẽ ể ị ế ậ ủ ạ
kho ng 1 đ n 4 gi sáng:ả ế ờ
RewriteEngine on
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0100
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0400
RewriteRule ^.*$ http://www.yourdomain.com/sleep.htm

4. Nh c nh b t cookie:ắ ở ậ
B n b t bu c ng i dùng ph i ch p nh n cookie, và mu n ki m tra cookie đã đ cạ ắ ộ ườ ả ấ ậ ố ể ượ
thi t l p hay ch a. R t đ n gi n, đo n sau s thay t t c các nh m t m t t m nhế ậ ư ấ ơ ả ạ ẽ ấ ả ả ộ ộ ấ ả
kêu ng i dùng b t cookie (cookies/enable.gif là hình báo nh c nh b t cookie).ườ ấ ắ ở ậ
RewriteEngine on
RewriteCond %{HTTP_COOKIE} !^.*cookies=true.*$
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ /cookies/enable.gif
5. Ch n ip c a ai đó:ặ ủ
Đôi khi b n mu n gi i h n m t trang nào đó ch cho phép 1 vài ng i truy c p (nhạ ố ớ ạ ộ ỉ ườ ậ ư
khu v c Admin), ho c cho t t c tr m t vài ng i không đ c phép truy c p vàoự ặ ấ ả ừ ộ ườ ượ ậ
(ngăn nh ng ip đang flood). C hai tr ng h p này có th gi i quy t nh nhàng nhữ ả ườ ợ ể ả ế ẹ ờ
.htaccess
5.1. Ch cho phép m t s ip truy c pỉ ộ ố ậ
Đ u tiên ta c m t t c , sau đó cho phép m t s :ầ ấ ấ ả ộ ố
order deny,allow
deny from all
allow from 127.0.0.1
allow from 192.168.0.1
Ch cho phép ip 127.0.0.1 và 192.168.0.1 truy c p vào trang web (n u b n đ t .htaccessỉ ậ ế ạ ặ
th m c g c). Đ c m th m c admin, b n đ t nó vào th m c admin.ở ư ụ ố ể ấ ư ụ ạ ặ ư ụ
5.2. C m m t s ip truy c pấ ộ ố ậ
order allow,deny
allow from all
deny from 203.113.135.6
deny from 203.162.*
C m ip 203.113.135.6 và t t c các ip b t đ u b ng 203.162ấ ấ ả ắ ầ ằ
6. 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(l)ườ ậ ộ ẽ ậ
ho c default.htm(l) tr k t qu v cho trình duy t, b n có th dùng .htaccess thay đ iặ ả ế ả ề ệ ạ ể ổ
m c đ nh này.ặ ị
DirectoryIndex index.php emyeu.htm 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 (l n l tớ ệ ấ ả ậ ượ ệ ẽ ượ ứ ự ầ ượ
là index.php, emyeu.htm, r i đ n index.html, index.htm) 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.ệ ượ ấ ầ ẽ ủ ư ụ
Trong tr ng h p m t th m c nào đó không có t p tin index, 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 cho li t kê n i dung thì có th làm b ng nhi u cáchệ ạ ả ạ ố ệ ộ ể ằ ề
sau:
Cách đ u tiên là đ t vào đó m t t p tin index.html m c đ nhầ ặ ộ ậ ặ ị
Cách khác là không cho hi n n i dung th m c b ng .htaccessệ ộ ư ụ ằ
Options -Indexes
Cách cu i cùng là đ t index m c đ nh n u index.html không tìm th y:ố ặ ặ ị ế ấ
DirectoryIndex index.php index.html index.htm
/noindex.html
Trong tr ng h p này, b n t o t p tin /noindex.html, khi đó n u Apache không tìmườ ợ ạ ạ ậ ế
th y index.*, nó s đ c noindex.html th m c g c. Nghĩa là b n luôn có t p tinấ ẽ ọ ở ư ụ ố ạ ậ
index.

Nh ng cách s d ng URL rewrite b ng .htaccess h u íchữ ử ụ ằ ữ
Post by : boing - Post time: 28/12/2009 - Edit time : 06/01/2010
View : 3102 - Comment : 0
Tags: htaccess url rewrite apache server
1) Rewriting product.php?id=12 thành product-12.html:
Đây là m t chuy n h ng đ n gi n, có ph n m r ng .php đ c n đi trên address barộ ể ướ ơ ả ẩ ở ộ ượ ẩ
và ph n query đ ng (có ch a "?") đ c chuy n thành query t nh.ầ ộ ứ ượ ể ỉ
RewriteEngine on
RewriteRule ^product([0-9]+)\.html $.Product.php?I =$1
2) Rewriting product.php?id=12 thành product/ipod-nano/12.html:
Các chuyên gia SEO luôn đ ngh b n mô t các t khóa trong URL, cách làm d i đâyề ị ạ ả ừ ướ
giúp b n có th đ a nh ng t khóa vào URL trên website.ạ ể ư ữ ừ
RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$
product.php?id=$2
3) Redirecting non www URL to www URL:
N u b n gõ vào trình duy t là blog.kai.vn, trình duy t s chuy n b n sang trangế ạ ệ ệ ẽ ể ạ
www.blog.kai.vn, B n c n làm v y v i trang web c a mình thì có th áp c ng code sauạ ầ ậ ớ ủ ể ụ
vào file htaccess c a mình nh sau. ủ ư (Chuy n h ng 301)ể ướ
RewriteEngine On
RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$
RewriteRule (.*) http://www.optimaxwebsolutions.com/$1
[R=301,L]
4) Rewriting yoursite.com/user.php?username=xyz thành yoursite.com/xyz:
B n gõ lên trình duy t facebook.com/boingonline s xem đ c thông tin c a tài kho nạ ệ ẽ ượ ủ ả
mang tên boingonline. N u b n mu n khi gõ vào yoursite.com/accname s chuy nế ạ ố ẽ ể
thành yoursite.com/user.php?im=accname thì thêm code sau vào file .htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1
5) Chuy n h ng tên mi n vào các sub-folder bên trong:ể ướ ề
Gi s b n nâng c p l i trang web c a mình và đ a t t c các file vào m t th m cả ử ạ ấ ạ ủ ư ấ ả ộ ư ụ
"new" bên trong, vi c di chuy n các file cũ vào bên trong g p r t nhi u v n đ . B nở ệ ể ặ ấ ề ấ ề ạ
có th thêm code sau vào file htaccess và đ t th m c g c (root) đ khi truy c p vàoể ặ ở ư ụ ố ể ậ
test.com s đ c đ a vào test.com/newẽ ượ ư

RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{REQUEST_URI} !^/new/
RewriteRule (.*) /new/$1