File .htaccess, hay còn gọi là Hypertext Access, là một “vũ khí bí mật” của các web server chạy Apache. Nó cho phép bạn tùy chỉnh các thiết lập quan trọng trên website mà không cần phải trực tiếp can thiệp vào cấu hình máy chủ. Bài viết này sẽ đưa bạn đi sâu vào thế giới của .htaccess là gì, khám phá những công dụng tuyệt vời của nó, cách sử dụng và các thao tác cụ thể để bạn có thể làm chủ “công cụ” mạnh mẽ này.
File .htaccess là gì và tại sao nó quan trọng?
File .htaccess là một file cấu hình mạnh mẽ, cho phép bạn kiểm soát các khía cạnh quan trọng của trang web trên server Apache. Với .htaccess, bạn có thể thực hiện các thay đổi về cấu hình mà không cần phải chỉnh sửa các file cấu hình server chính, giúp tiết kiệm thời gian và công sức.

Đây là một công cụ rất hữu ích, đặc biệt khi bạn không có quyền truy cập trực tiếp vào cấu hình máy chủ. File .htaccess cho phép bạn tùy biến nhiều cài đặt khác nhau, từ việc chuyển hướng URL, tạo trang lỗi tùy chỉnh, cho đến bảo vệ các thư mục bằng mật khẩu. Tuy nhiên, .htaccess cũng có thể gây ra các vấn đề nếu không được cấu hình đúng cách, vì vậy bạn cần hết sức cẩn trọng khi sử dụng.
Vị trí ‘Bí Mật’ của File .htaccess
Mặc định, Apache được cấu hình để ẩn các file có tên .htaccess vì chúng chứa thông tin cấu hình quan trọng, có thể bị lợi dụng để xâm nhập server. Tuy nhiên, vị trí phổ biến nhất của file này là trong thư mục public_html của website.

Có nhiều cách để bạn có thể truy cập file .htaccess:
- Quản lý file trên hosting: Thông qua các công cụ quản lý file như cPanel.
- Ứng dụng SFTP hoặc FTP client: Các phần mềm này cho phép bạn truy cập và quản lý các file trên server.
Lưu ý: Nếu bạn không thấy file .htaccess trong thư mục public_html, hãy chắc chắn rằng bạn đã chọn tùy chọn “Hiển thị file ẩn”.
Khi bạn mở file .htaccess, nó sẽ hiển thị dưới dạng văn bản thông thường, chứa các lệnh cấu hình.
Các ứng dụng phổ biến của File .htaccess
File .htaccess có rất nhiều ứng dụng thực tế, và dưới đây là một số ví dụ phổ biến:

- Chuyển hướng URL (Redirects): Đảm bảo người dùng không bị lạc khi bạn thay đổi đường dẫn hoặc tên miền.
- Tạo trang lỗi tùy chỉnh: Mang đến trải nghiệm tốt hơn cho người dùng khi họ gặp phải các trang lỗi, ví dụ như lỗi 404.
- Buộc sử dụng HTTPS: Tăng cường bảo mật cho trang web bằng cách chuyển hướng toàn bộ lưu lượng truy cập sang giao thức HTTPS.
- Bảo vệ thư mục bằng mật khẩu: Cho phép bạn giới hạn quyền truy cập vào các thư mục cụ thể.
- Ngăn chặn Hotlinking: Hạn chế các website khác sử dụng hình ảnh của bạn, giúp tiết kiệm tài nguyên server.
Việc sử dụng file .htaccess là một công cụ mạnh mẽ, nhưng đòi hỏi bạn cần có kiến thức nhất định. Hãy luôn cẩn trọng và tạo bản sao lưu trước khi thực hiện bất kỳ thay đổi nào.
Làm thế nào để sử dụng nhiều File .htaccess?
Bạn có thể sử dụng nhiều file .htaccess để áp dụng các cài đặt khác nhau cho các thư mục khác nhau trên server. Về lý thuyết, bạn có thể tạo file .htaccess trong bất kỳ thư mục nào, miễn là bạn tải lên một file văn bản thuần túy có tên .htaccess.
Tuy nhiên, có một số điều cần lưu ý:
- Hạn chế số lượng file .htaccess: Quá nhiều file .htaccess có thể làm chậm server của bạn vì nó sẽ mất thời gian để đọc và xử lý nhiều file này.
- Ưu tiên: Server sẽ ưu tiên file .htaccess trong các thư mục cấp cao hơn trong đường dẫn file.
Các bước chỉnh sửa File .htaccess
Để chỉnh sửa file .htaccess, bạn cần tải file hiện có xuống bằng FTP client hoặc thông qua hệ thống quản lý file của hosting (ví dụ: cPanel).
- Tải file xuống: Sử dụng FTP client hoặc công cụ quản lý file để tải file .htaccess về máy tính.
- Mở file: Dùng trình soạn thảo văn bản như Notepad hoặc Sublime Text để chỉnh sửa.
- Thêm hoặc sửa đổi: Thêm các dòng mã cấu hình mới vào file. Lưu ý: Không xóa file .htaccess hiện có trừ khi bạn chắc chắn nó trống hoặc bạn hiểu rõ những gì mình đang làm.
- Tải file lên: Lưu lại các thay đổi và tải file .htaccess đã chỉnh sửa lên lại server, vào đúng thư mục chứa file ban đầu.
- Kiểm tra: Truy cập trang web để đảm bảo các thay đổi đã được áp dụng.
Cách chuyển hướng URL (Redirect) bằng File .htaccess
Chuyển hướng URL là một tính năng quan trọng khi bạn thay đổi cấu trúc website hoặc di chuyển sang tên miền mới. File .htaccess cung cấp một cách đơn giản để bạn thực hiện điều này.

Để chuyển hướng URL bằng .htaccess, bạn cần:
- Đăng nhập vào server: Sử dụng SFTP để truy cập vào server của bạn.
- Tìm và tải xuống file .htaccess: Hoặc tạo một file mới nếu chưa có.
- Mở file .htaccess bằng trình soạn thảo văn bản.
- Thêm các dòng sau:
“`
# enable basic rewriting
RewriteEngine on
“`
- Sao chép và dán các cấu hình chuyển hướng vào file. Ví dụ:
- Chuyển hướng 301 (Permanent Redirect): Sử dụng khi bạn muốn chuyển hướng vĩnh viễn từ URL cũ sang URL mới.
“`
Redirect 301 /old-page.html /new-page.html
“`
- Chuyển hướng 302 (Temporary Redirect): Sử dụng khi chuyển hướng chỉ mang tính tạm thời.
“`
Redirect 302 /old-page.html /new-page.html
“`
- Lưu file và tải lại lên server: Sau khi chỉnh sửa xong, lưu file và tải lên thư mục ban đầu.
- Kiểm tra: Truy cập trang web và kiểm tra các chuyển hướng
Rewrite URL bằng .htaccess
Việc rewrite URL cũng tương tự như chuyển hướng nhưng nó được server thực hiện trong quá trình xử lý truy cập. Một trong những ứng dụng phổ biến của việc rewrite URL là buộc trang web phải có hoặc không có www trong URL.
Force trang Web không có WWW
Để buộc trang web không có www, hãy thêm đoạn mã sau vào file .htaccess:
Options +FollowSymLinks
RewriteEngine on
RewriteCond % .
RewriteCond % !^mysite\.com
RewriteRule (.*) http://mysite.com/$1 [R=301,L]
Thay thế mysite.com bằng tên miền của bạn. Dấu “\” rất quan trọng và không được bỏ qua.
Force trang web có WWW
Để buộc trang web phải có www, hãy thêm đoạn mã sau:
Options +FollowSymLinks
RewriteEngine on
RewriteCond % !^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]
Tương tự, hãy đảm bảo thay thế mysite.com bằng tên miền của bạn.
Tạo trang lỗi 404 tùy chỉnh với File .htaccess
Trang lỗi 404 xuất hiện khi người dùng truy cập vào một trang không tồn tại trên website. Thay vì hiển thị thông báo lỗi mặc định, bạn có thể tạo trang lỗi 404 tùy chỉnh để tăng trải nghiệm người dùng.

Các bước thực hiện
- Tạo trang lỗi tùy chỉnh: Bạn có thể code trang lỗi riêng, sử dụng trình tạo trang web hoặc cách nào khác bạn muốn. Sau khi tạo xong, hãy lưu trang lỗi thành file HTML.
- Tải lên server: Sử dụng SFTP để tải file trang lỗi tùy chỉnh lên thư mục public_html.
- Chỉnh sửa file .htaccess:
- Tải file .htaccess về chỉnh sửa
- Thêm các dòng lệnh sau vào file .htaccess:
“`
# serve custom error pages
ErrorDocument 404 /errors/404.html
“`
- Thay thế /errors/404.html bằng đường dẫn đến file trang lỗi 404 tùy chỉnh của bạn. Bạn có thể thiết lập các trang lỗi cho các mã lỗi khác như 400, 500 bằng cách thêm các dòng tương tự
- Lưu và tải lại: Lưu file và tải lại vào server
- Kiểm tra: Truy cập trang web để kiểm tra xem các trang lỗi tùy chỉnh của bạn đã hoạt động.
Force HTTPS với File .htaccess
Nếu bạn muốn đảm bảo mọi truy cập vào trang web đều sử dụng kết nối an toàn (SSL), bạn có thể sử dụng .htaccess để chuyển hướng lưu lượng không an toàn sang HTTPS.
Để thực hiện việc này, bạn cần thêm đoạn mã sau vào file .htaccess:
# force SSL on entire site
RewriteEngine On
RewriteCond % !=on
RewriteRule ^/?(.*) https://mysite.com/$1 [R=301,L]
Nhớ thay thế mysite.com bằng tên miền của bạn. Tất nhiên, bạn cần phải có chứng chỉ SSL đã được cài đặt cho tên miền.
Bảo vệ thư mục bằng mật khẩu với .htaccess
Bạn có thể sử dụng file .htaccess để đặt mật khẩu bảo vệ các thư mục trên trang web. Điều này hữu ích khi bạn muốn giới hạn quyền truy cập vào một số thư mục nhất định, ví dụ như thư mục đang phát triển hoặc thư mục chứa tài liệu quan trọng.

Các bước thực hiện
- Xác định Document Root: Document Root là thư mục chứa file .htaccess. Đường dẫn này thường có dạng /domain.com/public_html/.
- Tạo file .htpasswd: File này sẽ chứa tên người dùng và mật khẩu mã hóa. Bạn nên đặt file .htpasswd tách biệt với file .htaccess, tốt nhất là ở ngoài thư mục public_html để tăng tính bảo mật.
- Tạo cú pháp .htaccess và .htpasswd: Bạn có thể sử dụng các trang web chuyên để tạo cú pháp này.
- Thêm cú pháp vào server: Thêm các đoạn lệnh cần thiết vào file .htaccess của bạn.
- File .htaccess
“`
AuthType Basic
AuthName “Restricted Access”
AuthUserFile /path/to/.htpasswd
Require valid-user
“`
Thay thế `/path/to/.htpasswd` bằng đường dẫn thật đến file `.htpasswd` của bạn
- File .htpasswd: File này sẽ chứa tên người dùng và mật khẩu đã mã. Bạn có thể tạo file này thông qua các công cụ trực tuyến. Cú pháp của file sẽ có dạng:
“`
username:encrypted_password
“`
- Tải lên các file: Tải các file .htaccess và .htpasswd lên đúng vị trí.
- Kiểm tra quyền: Đảm bảo người dùng bạn muốn có quyền truy cập có thể truy cập.
Bảo vệ hotlink với .htaccess
Hotlinking xảy ra khi các website khác sử dụng hình ảnh trên trang web của bạn bằng cách nhúng trực tiếp vào trang của họ. Điều này có thể làm tăng mức sử dụng tài nguyên server của bạn.
Để ngăn chặn hotlinking, bạn có thể thêm đoạn mã sau vào file .htaccess:
RewriteEngine on
RewriteCond % !^$
RewriteCond % !^http://(www\.)mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|png)$ – [F]
Thay thế mydomain.com bằng tên miền của bạn. Đoạn mã trên sẽ chặn việc hiển thị các file có định dạng gif, jpg, jpeg, png được hotlink từ các trang web khác.
Kết luận
File .htaccess là một công cụ mạnh mẽ cho phép bạn tùy chỉnh nhiều khía cạnh của website trên server Apache. Từ việc chuyển hướng URL, tạo trang lỗi tùy chỉnh, đến bảo vệ các thư mục bằng mật khẩu, nó cung cấp cho bạn rất nhiều tùy chọn để kiểm soát và tối ưu hóa website. Tuy nhiên, việc sử dụng .htaccess đòi hỏi bạn cần có kiến thức và sự cẩn trọng. Luôn tạo bản sao lưu và kiểm tra kỹ lưỡng trước khi thực hiện bất kỳ thay đổi nào trên website của mình.