P
pexinh_vip
New Member
Vip
File .htaccess (hypertext access)của apache là một công cụ cực kỳ hữu dụng. File .htaccess thường được tìm thấy trong thư mục root của website, bạn có thể dễ dàng sửa chữa nó bằng bất kỳ text editor nào. Bạn nên sao lưu lại file .htaccesscủa mình trước khi thử nghiệm các cách hack dưới đây.
1. Ngăn chặn hotlink
Nhiều người copy ảnh từ servercủ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
#No hotlink
RewriteEngine On
RewriteCond %{HTTP_REFERER}!^$
RewriteCond %{HTTP_REFERER}!^ http://(www.)?domain.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domain.com/images/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ạnmã sau
Redirect 301 /d/file.html http://www.domain.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ạncó 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.domain.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ặccấ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@domain.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:
#Protect .htaccess File
order allow,deny
deny from all
8. Đặt mã cho thư mục và file
Bạn có thể đặt mã & quyền truycậ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 DEFLATEtext/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://domain.com/category/tong-hop về -> http://domain.com/tong-hop , bạn chỉ cần thêm vào file.htaccess đoạn mã sau
RewriteRule ^category/(.+)$ http://www.domain.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 truycậ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ượclạ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
Nếu bạn muốn cho phép browse thư mục bạn chỉ cần đổi lại là: Options All +Indexes
1. Ngăn chặn hotlink
Nhiều người copy ảnh từ servercủ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
#No hotlink
RewriteEngine On
RewriteCond %{HTTP_REFERER}!^$
RewriteCond %{HTTP_REFERER}!^ http://(www.)?domain.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domain.com/images/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ạnmã sau
Redirect 301 /d/file.html http://www.domain.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ạncó 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.domain.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ặccấ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@domain.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:
#Protect .htaccess File
order allow,deny
deny from all
8. Đặt mã cho thư mục và file
Bạn có thể đặt mã & quyền truycậ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 DEFLATEtext/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://domain.com/category/tong-hop về -> http://domain.com/tong-hop , bạn chỉ cần thêm vào file.htaccess đoạn mã sau
RewriteRule ^category/(.+)$ http://www.domain.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 truycậ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ượclạ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
Nếu bạn muốn cho phép browse thư mục bạn chỉ cần đổi lại là: Options All +Indexes