Cấu hình .htaccess

Tác giả em_phanrang, T.M.Hai 28, 2011, 02:27:40 CHIỀU

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

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

Cấu hình .htaccess


1. Giới thiệu.

Tập tin .htaccess (hypertext access) của Apache là một công cụ cực kỳ hữu dụng. Tập tin .htaccess thường được tìm thấy trong thư mục gốc của website, bạn có thể dễ dàng sửa chữa nó bằng bất kỳ công cụ chỉnh sửa nào. Bạn nên sao lưu lại tập tin .htaccess của mình trước khi thử nghiệm các cách cấu hình như dưới đây.

2. Ngăn chặn hotlink.

Nhiều người sao chép hình ảnh từ máy chủ 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ững hình ảnh đó hiển thị trên các website khác như sau đây.

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

3. 301 Redirect.

Nếu bạn muốn chuyển tên miền 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 Engine của Google thì hãy sử dụng đoạn mã sau.

Mã nguồn [Chọn]
Redirect 301 /d/file.html http://www.domain.com/r/file.html 
4. Chuyển hướng từ tên miền cũ sang tên mới.

Sử dụng đoạn mã dưới đây thì các bạn có thể chuyển tất cả các liên kết từ tên miền cũ sang tên miền mới.

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

5. Tạo trang báo lỗi riêng.

Nếu các bạn không muốn sử dụng các trang báo lỗi có sẵn của các nhà cung cấp Web Shared Hosting thì các bạn cũng có thể tạo các trang báo lỗi riêng và cấu hình nó vào tập tin .htaccess như sau.

Mã nguồn [Chọn]
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php 


6. Cấm một số địa chỉ IP truy cập Website.


Nếu có một số địa chỉ IP thường xuyên tấn công Website của bạn thì các bạn có thể cấm các địa chỉ IP đó như ở dòng 2 hoặc 1 dãy địa chỉ IP như ở dòng 3.

Mã nguồn [Chọn]
allow from all
deny from 113.190.183.138
deny from 113.190 

7. Cấu hình Email mặc định cho người quản trị máy chủ.

Các bạn hãy sử dụng đoạn mã sau đây.
Mã nguồn [Chọn]
ServerSignature EMail
SetEnv SERVER_ADMIN [email protected] 

8. Bảo vệ tập tin và thư mục của Website.

Đoạn mã dưới đây sẽ từ chối khi người dùng truy cập vào bất kỳ tập tin nào và sẽ gửi về mã lỗi 403 như dưới đây.

Mã nguồn [Chọn]
#Protect .htaccess File
<files .htaccess="">
order allow,deny
deny from all
</files>

9. Cấu hình mật khẩu để bảo vệ thư mục và tập tin.

Các bạn có thể cấu hình mật khẩu và quyền truy cập vào thư mục và tập tin như sau đây.

Mã nguồn [Chọn]
# Đặt mật khẩu 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

Mã nguồn [Chọn]
# Đặt mật khẩu cho tập tin.
<files secure.php="">
AuthType Basic
AuthName "Prompt"
AuthUserFile /home/path/.htpasswd
Require valid-user
</files>

10. Cấu hình trang Web mặc định.

Các bạn có thể cấu hình một trang Web mặc định cho thư mục nào đó. Ví dụ cấu hình tập tin about.html thay cho tập tin index.html như sau đây.

Mã nguồn [Chọn]
#Đặt trang mặc định (index)
DirectoryIndex about.html

11. Nén các tập tin bằng Gzip.

Bằng cách kích hoạt Gzip thì các bạn có thể nén tập tin từ máy chủ để giúp cho việc tải trang nhanh hơn.

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

12. Bỏ Category trong URL.

Để chuyển URL từ: http://domain.com/category/tong-hop qua http://domain.com/tong-hop thì các bạn chỉ cần thêm vào tập tin .htaccess đoạn mã như sau đây.

Mã nguồn [Chọn]
RewriteRule ^category/(.+)$ http://www.domain.com/$1 [R=301,L]
13. Bỏ phần mở rộng trong URL.

Nếu các bạn mới lập trình PHP và không muốn xuất hiện phần mở rộng .php ở URL thì hãy thêm vào đoạn mã sau đây.

Mã nguồn [Chọn]
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
14. Thêm / vào cuối URL.

Một vài Search Engine 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 sẽ không tốt với các Search Engine vì sẽ bị coi là Duplicated Content. Các bạn hãy thêm đoạn mã dưới đây vào tập tin .htaccess để giải quyết vấn đề đó.

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

15. Bỏ www trong URL.

Nếu các bạn muốn chuyển mọi truy cập từ http://www.example.com qua http://example.com thì hãy thêm đoạn mã sau vào tập tin .htaccess.

Mã nguồn [Chọn]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

16. Thêm www vào URL.

Tất nhiên nếu bạn muốn ngược lại là thêm www vào URL thì các bạn cũng có thể dùng đoạn mã sau đây.

Mã nguồn [Chọn]
  RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

17. Cấm liệt kê cấu trúc thư mục và tập tin của Website.

Để ngăn chặn truyliệt kê cấu trúc thư mục và tập tin của Website, ví dụ thư mục Plugins của Wordpress thì các bạn hãy thêm đoạn mã sau đây vào tập tin .htacess.

Mã nguồn [Chọn]
Options All -Indexes
Nếu các bạn muốn cho phép liệt kê cấu trúc thư mục và tập tin của Website thì các bạn chỉ cần đổi lại là: Options All +IndexesNếu các bạn có thủ thuật nào hay hơn thì hãy nhớ chia sẻ với mọi người qua bình luận bên dưới.