Cách Sử Dụng File .htaccess Trên Apache: Hướng Dẫn Tối Ưu Tốc Độ & Bảo Mật Website

Cách Sử Dụng File .htaccess Trên Apache

File .htaccess là một công cụ quan trọng trên máy chủ web Apache, giúp bạn dễ dàng tùy chỉnh và quản lý các thiết lập của trang web mà không cần thay đổi trực tiếp file cấu hình chính của máy chủ. Với file này, bạn có thể thực hiện nhiều tác vụ quan trọng như tùy chỉnh trang lỗi để cải thiện trải nghiệm người dùng, thiết lập chuyển hướng URL giúp tối ưu SEO, hoặc bảo vệ thư mục bằng mật khẩu nhằm hạn chế quyền truy cập trái phép. Ngoài ra, .htaccess còn giúp tối ưu hiệu suất website bằng cách kích hoạt bộ nhớ đệm, nén dữ liệu với gzip để tăng tốc độ tải trang, đồng thời tăng cường bảo mật bằng cách chặn truy cập từ các IP cụ thể, ngăn chặn hotlinking và bảo vệ trang web trước một số cuộc tấn công phổ biến.

Để có thể thực hành hiệu quả với file .htaccess, bạn nên triển khai website trên một máy chủ riêng ảo (VPS). Nếu bạn đang tìm giải pháp tiết kiệm chi phí, hãy tham khảo các gói VPS giá rẻ của chúng tôi – phù hợp cho cả người mới bắt đầu và các doanh nghiệp nhỏ.

Tiếp theo, DataOnline sẽ hướng dẫn bạn học cách kích hoạt và sử dụng file .htaccess trên Apache, từ việc tạo file, chỉnh sửa đến áp dụng các quy tắc hữu ích để tối ưu tốc độ và bảo mật trang web của mình. Việc hiểu và sử dụng đúng cách file .htaccess sẽ giúp bạn kiểm soát tốt hơn trang web, cải thiện hiệu suất và bảo vệ dữ liệu một cách hiệu quả.

Yêu cầu tiên quyết

Nếu bạn muốn thực hành sử dụng file .htaccess bằng cách làm theo các ví dụ trong hướng dẫn này, bạn sẽ cần:

● Một máy chủ Ubuntu 20.04 được thiết lập với người dùng không phải root có đặc quyền sudo và tường lửa được bật. Bạn có thể làm điều này bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu Ubuntu 20.04.

● Máy chủ web Apache được cài đặt trên máy chủ Ubuntu của bạn. Tìm hiểu cách thiết lập với hướng dẫn của chúng tôi về Cách Cài đặt Máy chủ Web Apache trên Ubuntu 20.04. Hãy chắc chắn hoàn thành Bước 5 và có một file virtual host cho tên miền của bạn. Hướng dẫn này sẽ đề cập đến your_domain làm ví dụ xuyên suốt và sử dụng /etc/apache2/sites-available/your_domain.conf cho file virtual host.

● Nếu bạn muốn thực hành với một tên miền (tùy chọn), bạn có thể thiết lập bằng cách mua tên miền trên Namecheap, lấy miễn phí trên Freenom, hoặc sử dụng nhà đăng ký tên miền mà bạn chọn. Bạn cũng sẽ cần cả hai bản ghi DNS sau đây được thiết lập cho máy chủ của bạn: hai bản ghi A, một với your_domain và một với www.your_domain trỏ đến địa chỉ IP công khai của máy chủ của bạn. Làm theo phần giới thiệu về DNS DataOnline để biết chi tiết về cách thêm chúng.

● Nếu bạn cũng muốn bảo mật virtual host của mình, bạn có thể làm như vậy với chứng chỉ tin cậy miễn phí, như trong hướng dẫn Let’s Encrypt của chúng tôi cho Apache. Tuy nhiên, nếu bạn không có tên miền, bạn có thể sử dụng chứng chỉ tự ký thay thế. Điều này cung cấp cùng loại mã hóa, nhưng không có xác thực tên miền. Làm theo hướng dẫn SSL tự ký cho Apache để thiết lập điều này.

Sau khi bạn hoàn tất thiết lập, bạn có thể thực hành kích hoạt và tạo file .htaccess trong các bước tiếp theo.

Kích hoạt file .htaccess

Nếu bạn có quyền truy cập vào cài đặt máy chủ, bạn có thể chỉnh sửa cấu hình Apache để cho phép file .htaccess ghi đè các cấu hình trang web tiêu chuẩn.

Bắt đầu bằng cách mở file virtual host apache2/sites-available/your_domain.conf bằng trình soạn thảo văn bản ưa thích của bạn. Ở đây, chúng ta sẽ sử dụng nano:

sudo nano /etc/apache2/sites-available/your_domain.conf

Giả sử bạn đã làm theo Bước 5 của hướng dẫn cài đặt Apache, file này sẽ chứa nội dung sau:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Thêm khối nội dung Directory sau vào trong khối VirtualHost:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined


<Directory /var/www/your_domain>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory> 
</VirtualHost>

Dòng quan trọng nhất của khối nội dung Directory này là AllowOverride All, nó cho phép sử dụng các file .htaccess. Sau khi bạn đã thêm thông tin này, lưu và đóng file. Nếu bạn đang sử dụng nano, bạn có thể làm điều này bằng cách nhấn CTRL + X sau đó Y và ENTER.

Tiếp theo, khởi động lại Apache:

sudo service apache2 restart

Bây giờ cài đặt cấu hình của bạn đã được cập nhật để cho phép sử dụng file .htaccess, trong bước tiếp theo bạn sẽ tạo một file.

Tạo file .htaccess

Để tạo file .htaccess trong terminal của bạn, bạn cần điều hướng đến thư mục gốc web của bạn. Thư mục gốc web của bạn là nơi đặt file .htaccess để các cấu hình của bạn có thể được thực thi đúng cách cho trang web của bạn. Vị trí đúng của file .htaccess rất quan trọng vì các cấu hình trong file đó ảnh hưởng đến mọi thứ trong thư mục của nó và các thư mục sau nó. Điều này có nghĩa là nếu bạn đang phục vụ một vài trang web khác nhau trên cùng một máy chủ Apache, file .htaccess của bạn nên được đặt trong thư mục gốc web cụ thể cho trang web cụ thể đó.

Nếu bạn đã làm theo các yêu cầu tiên quyết, thư mục gốc web của bạn sẽ ở vị trí sau: /var/www/your_domain/.htaccess. Để tạo file .htaccess cho trang web của bạn, hãy chạy lệnh sau:

sudo nano /var/www/your_domain/.htaccess

Bây giờ bạn đã học một vài cách để tạo file .htaccess, tiếp theo chúng ta sẽ xem xét một số cách sử dụng phổ biến của trang .htaccess.

Các cách sử dụng phổ biến cho trang .htaccess

Có 5 cách sử dụng phổ biến cho trang .htaccess trên trang web của bạn:

Mod_Rewrite

Một trong những khía cạnh hữu ích nhất của file .htaccess là mod_rewrite. Bạn có thể sử dụng file .htaccess để chỉ định và thay đổi cách hiển thị URL và trang web trên các trang của bạn cho người dùng của bạn. Tìm hiểu thêm về cách bạn có thể làm điều này với hướng dẫn của chúng tôi về Cách Thiết lập mod_rewrite.

Xác thực

Để thiết lập xác thực bảo mật với .htaccess, bạn có thể tạo một file mật khẩu có tên .htpasswd để xác thực người dùng. Thực hiện thay đổi này sẽ tạo ra một form mật khẩu yêu cầu khách truy cập trang web nhập mật khẩu nếu họ muốn truy cập vào các phần nhất định của trang web. Khi tạo file này, hãy chắc chắn lưu trữ nó ở một thư mục khác với thư mục web vì lý do bảo mật.

Để tạo tệp, hãy chạy lệnh htpasswd và bao gồm tùy chọn -c, cùng với tên người dùng để tạo tệp htpasswd được chỉ định. Sau đó, một lời nhắc sẽ yêu cầu bạn nhập mật khẩu. Bạn có thể thêm nhiều dòng vào tệp htpasswd nếu cần, nhưng hãy đảm bảo rằng mỗi người dùng có một dòng riêng biệt. Ví dụ sau minh họa cách tạo một mục nhập mới trong tệp, trong trường hợp này là cho người dùng sammy:

sudo htpasswd -c /etc/apache2/.htpasswd sammy

Bạn có thể kiểm tra nội dung của file này bằng cách chạy cat /etc/apache2/.htpasswd, và nó sẽ xuất ra tên người dùng và mật khẩu đã mã hóa cho mỗi bản ghi bạn đã thêm.

Sau khi bạn đã thêm người dùng mong muốn, tiếp theo mở file .htaccess. Nếu bạn đã làm theo hướng dẫn đầu tiên, nó sẽ nằm ở vị trí sau:

sudo nano /var/www/your_domain/.htaccess

Hãy nhớ rằng trong ví dụ này chúng ta đang hạn chế toàn bộ thư mục gốc dựa trên /var/www/your_domain, nhưng điều này có thể được đặt trong bất kỳ thư mục nào mà bạn muốn hạn chế quyền truy cập.

Sau khi file này được mở, thêm nội dung sau và lưu các thay đổi để bắt đầu sử dụng chức năng mật khẩu:

/var/www/your_domain/.htaccess

AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Để tìm hiểu thêm, hãy đọc hướng dẫn của chúng tôi về Cách Thiết lập Xác thực Bằng Mật khẩu với Apache.

Trang lỗi tùy chỉnh

File .htaccess bổ sung cho phép bạn tạo các trang lỗi tùy chỉnh cho trang web của bạn. Một số lỗi phổ biến nhất là:

● 400 Bad Request

● 401 Authorization Required

● 403 Forbidden Page

● 404 File not Found

● 500 Internal Error

Để làm cho trang trở nên thân thiện với người dùng và cung cấp nhiều thông tin hơn cho khách truy cập so với trang lỗi mặc định của máy chủ, bạn có thể sử dụng tệp .htaccess để tạo các trang lỗi tùy chỉnh. Hãy đọc thêm trong bài hướng dẫn của chúng tôi về cách cấu hình Apache để sử dụng các trang lỗi tùy chỉnh.

Kiểu MIME

Trong trường hợp trang web của bạn có một số file ứng dụng mà máy chủ của bạn không cung cấp để thiết lập, bạn có thể thêm kiểu Multipurpose Internet Mail Extensions (MIME) vào máy chủ Apache của bạn trong file .htaccess với mã sau:

/var/www/your_domain/.htaccess

AddType audio/mp4a-latm .m4a

Hãy chắc chắn thay thế ứng dụng và phần mở rộng file bằng kiểu MIME mà bạn muốn hỗ trợ. Đối với ví dụ này, chúng tôi đã chỉ định kiểu MIME của file âm thanh.

SSI

Server side includes (SSI) là một công cụ tiết kiệm thời gian tuyệt vời trên một trang web. Một trong những cách sử dụng phổ biến nhất của SSI là cập nhật một số lượng lớn trang với một số dữ liệu cụ thể mà không cần phải cập nhật từng trang riêng lẻ. Ví dụ, nếu bạn muốn thay đổi một trích dẫn ở cuối trang.

Để kích hoạt SSI, chèn mã sau vào file .htaccess của bạn:

/var/www/your_domain/.htaccess

AddType text/html .shtml
AddHandler server-parsed .shtml</pre>

Những dòng này cho .htaccess biết rằng các file .shtml là hợp lệ, với dòng thứ hai cụ thể làm cho máy chủ phân tích cú pháp tất cả các file kết thúc bằng .shtml cho bất kỳ lệnh SSI nào.

Tuy nhiên, nếu bạn có nhiều trang .html mà bạn không muốn đổi tên sang định dạng .shtml, bạn có thể sử dụng một chiến thuật khác để phân tích chúng cho các lệnh SSI, đó là XBitHack.

Bạn có thể sử dụng chiến thuật XBitHack này bằng cách thêm dòng sau vào tệp .htaccess để yêu cầu Apache kiểm tra tất cả các tệp .html có quyền thích hợp cho SSI:

/var/www/your_domain/.htaccess

XBitHack on

Để làm cho một trang đủ điều kiện cho XBitHack, sử dụng lệnh chmod để thay đổi quyền:

chmod +x pagename.html

Bây giờ bạn đã hiểu một vài cách sử dụng phổ biến cho trang .htaccess, tiếp theo bạn sẽ tìm hiểu thêm về tác động của file .htaccess đến tốc độ và bảo mật.

Tốc độ và bảo mật với file .htaccess

Mặc dù tệp .htaccess có thể được sử dụng để cải thiện trang web, tuy nhiên có hai yếu tố cần lưu ý mà nó có thể ảnh hưởng: tốc độ và bảo mật.

Về tốc độ, tệp .htaccess có thể làm chậm máy chủ của bạn, nhưng đối với hầu hết các máy chủ, sự thay đổi này có lẽ không thể nhận thấy. Điều này có thể do vị trí của trang, vì tệp .htaccess ảnh hưởng đến các trang trong thư mục của nó và tất cả các thư mục con phía sau. Nghĩa là mỗi khi một trang được tải, máy chủ sẽ quét thư mục chứa trang đó và tất cả các thư mục cấp trên cho đến khi đạt đến thư mục gốc hoặc gặp một tệp .htaccess. Quá trình này sẽ diễn ra miễn là chỉ thị AllowOverride cho phép sử dụng tệp .htaccess như đã được minh họa trong bước kích hoạt tệp .htaccess, dù cho tệp .htaccess có thực sự tồn tại hay không.

Về mặt bảo mật, tệp .htaccess dễ tiếp cận hơn nhiều so với cấu hình Apache tiêu chuẩn và các thay đổi được áp dụng ngay lập tức (không cần khởi động lại máy chủ). Điều này cho phép người dùng có quyền thay đổi tệp .htaccess, giúp họ kiểm soát máy chủ một cách lớn. Bất kỳ chỉ thị nào được đặt trong tệp .htaccess đều có tác dụng như khi được đặt trực tiếp trong cấu hình Apache. Cũng cần lưu ý rằng Apache thường khuyến cáo không sử dụng tệp .htaccess nếu người dùng có thể truy cập trực tiếp vào các tệp cấu hình của Apache.

Kết luận

File .htaccess mang lại sự linh hoạt cao trong việc quản lý và tùy chỉnh trang web, giúp bạn kiểm soát nhiều khía cạnh quan trọng như bảo mật, hiệu suất và SEO. Với .htaccess, bạn có thể thiết lập chuyển hướng URL, bảo vệ thư mục bằng mật khẩu, ngăn chặn truy cập trái phép và tối ưu hóa tốc độ tải trang. Nếu bạn muốn tìm hiểu thêm về cách bảo mật website hiệu quả, hãy tham khảo thiết lập xác thực bằng mật khẩu với Apache của chúng tôi để khám phá các phương pháp bảo vệ dữ liệu, chống lại các cuộc tấn công phổ biến và đảm bảo trang web của bạn hoạt động an toàn trên môi trường internet.

Khi triển khai Apache và file .htaccess, việc thuê VPS riêng giúp bạn dễ dàng tùy chỉnh cấu hình máy chủ và tối ưu hiệu suất hơn so với hosting chia sẻ. Tham khảo ngay các dịch vụ thuê VPS linh hoạt, hỗ trợ kỹ thuật 24/7 từ chúng tôi để bắt đầu.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *