File .htaccess là gì? Ý nghĩa của file .htaccess trong quản trị website
Trong bài viết này, chúng ta sẽ tìm hiểu về file .htaccess, cách sử dụng nó để tăng cường tính năng của trang web và những lợi ích mà nó mang lại cho việc tối ưu hóa công cụ tìm kiếm (SEO) chi tiết.
File .htaccess là gì?
File .htaccess là một file cấu hình trong các máy chủ web Apache, cho phép các nhà phát triển (coder) cấu hình các quy tắc và thực hiện các tính năng phức tạp của trang web một cách nhanh chóng và dễ dàng. File .htaccess thường được đặt trong thư mục gốc của trang web và có tác dụng tại thư mục đó và các thư mục con của nó.
Ý nghĩa của file .htaccess
File .htaccess có thể được sử dụng để thực hiện nhiều chức năng khác nhau trên trang web. Một số tính năng quan trọng của file .htaccess bao gồm:
- Điều hướng trang web: Cho phép bạn chỉ định các quy tắc để điều hướng người dùng đến các trang web khác hoặc để chuyển hướng các trang web bị lỗi đến các trang khác.
- Bảo mật trang web: Hỗ trợ bảo vệ các trang web bằng cách yêu cầu người dùng đăng nhập hoặc bằng cách chỉ định các quy tắc phân quyền truy cập.
- Tối ưu hóa công cụ tìm kiếm (SEO): File .htaccess cho phép các nhà phát triển tinh chỉnh các cài đặt của máy chủ web để cải thiện hiệu suất của trang web và tối ưu hóa cho công cụ tìm kiếm.
Các tính năng của file .htaccess trong SEO
Tối ưu hóa URL
Tối ưu hóa URL là một trong những tính năng quan trọng của file .htaccess trong SEO. Bạn có thể thay đổi định dạng URL của trang web để làm cho chúng dễ đọc và thân thiện hơn với người dùng và các công cụ tìm kiếm.
Ví dụ, nếu URL của trang web như sau: https://example.com/?page=123 Chúng ta có thể sử dụng file .htaccess để thay đổi nó thành URL thân thiện hơn như sau: https://example.com/my-page.
Để làm được, chúng ta sử dụng một tính năng của file .htaccess gọi là "RewriteRule". RewriteRule cho phép chúng ta ánh xạ các URL có dạng cũ thành các URL có dạng mới.
Ví dụ:
RewriteEngine On
RewriteRule ^my-page/$ index.php?page=123 [L]
Trong ví dụ trên, chúng ta đang sử dụng RewriteRule để ánh xạ URL https://example.com/my-page đến trang index.php với tham số page=123.
301 Redirect
301 Redirect hỗ trợ chuyển hướng người dùng đến các trang web mới hoặc đã thay đổi địa chỉ URL. 301 Redirect được sử dụng để giữ cho việc đánh giá của công cụ tìm kiếm về trang web không bị mất đi và chuyển hướng lưu lượng truy cập đến trang web mới.
Ví dụ, nếu chúng ta muốn chuyển hướng người dùng từ trang cũ sang trang mới, có thể sử dụng tính năng 301 Redirect của file .htaccess như sau:
Redirect 301 /old-page.html <https://example.com/new-page/>
Trong ví dụ trên, khi người dùng truy cập vào trang cũ https://example.com/old-page.html, họ sẽ tự động được chuyển hướng đến trang mới https://example.com/new-page.
Compression
File .htaccess cũng cho phép nén dữ liệu để tăng tốc độ tải trang web, giảm thiểu dung lượng truyền tải qua mạng, giảm thời gian tải trang và tăng trải nghiệm người dùng.
Để sử dụng tính năng nén, chúng ta cần cấu hình nén trong file .htaccess như sau:
<IfModule mod_deflate.c>
# Force compression for mangled headers.
# <http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\\\\s*,?\\\\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
# as `AddOutputFilterByType` is still in the core directives).
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \\\\
application/javascript \\\\
application/json \\\\
application/rss+xml \\\\
application/vnd.ms-fontobject \\\\
application/x-font-ttf \\\\
application/x-web-app-manifest+json \\\\
application/xhtml+xml \\\\
application/xml \\\\
font/opentype \\\\
image/svg+xml \\\\
image/x-icon \\\\
text/css \\\\
text/html \\\\
text/plain \\\\
text/x-component \\\\
text/xml
</IfModule>
</IfModule>
Trong cấu hình nén này, các định dạng MIME của các tài liệu được nén bao gồm các loại tài liệu phổ biến như HTML, CSS, Javascript và XML. Khi tài liệu được yêu cầu từ máy chủ, nó sẽ được nén và truyền tải cho người dùng.
Cấm truy cập vào một thư mục
File .htaccess cho phép chúng ta cấm truy cập vào các thư mục và các tệp tin trong thư mục đó, tăng được tính bảo mật trang web và bảo vệ các tệp tin quan trọng khỏi sự truy cập trái phép.
Ví dụ, để cấm truy cập vào các tệp tin trong thư mục "private", chúng ta có thể sử dụng tính năng "deny from all" như sau:
<Directory "private">
deny from all
</Directory>
Trong ví dụ trên, các tệp tin trong thư mục "private" sẽ không được truy cập từ bất kỳ địa chỉ IP nào.
Tối ưu hóa hình ảnh
File .htaccess cũng cho phép tối ưu hóa hình ảnh để tăng tốc độ tải trang, bằng cách giảm dung lượng của hình ảnh, mà không làm mất chất lượng hình ảnh.
Để sử dụng tính năng tối ưu hóa hình ảnh, chúng ta có thể sử dụng mã sau đây trong file .htaccess:
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS, JavaScript
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
Trong mã trên, chúng ta đang sử dụng tính năng "ExpiresByType" để chỉ định thời gian hết hạn của các loại tài liệu khác nhau. Khi chỉ định thời gian hết hạn sẽ giúp trình duyệt của người dùng lưu trữ bộ nhớ cache của trang web để giảm thiểu thời gian tải trang.
Tạm kết
Trên đây là những thông tin cơ bản về file .htaccess, tính năng của nó trong việc tối ưu hóa công cụ tìm kiếm, bảo mật trang web và tăng tốc độ tải trang. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến nào về file .htaccess, hãy để lại bình luận bên dưới. FPT Shop sẽ cùng thảo luận và giải đáp thắc mắc của bạn nhé.
Xem thêm: