File .htaccess là gì? Những công dụng của file .htaccess

Cập nhật 12/09/2024

Trong bài viết dưới đây, hãy cùng BKNS tìm hiểu về file .htaccess và những công dụng của file .htaccess 

File htaccess
File htaccess

File .htaccess là gì?

File .htaccess (Hypertext Access) là một tệp cấu hình đặc biệt được sử dụng trên các máy chủ web Apache. Tệp này cho phép quản trị viên web kiểm soát nhiều khía cạnh của trang web mà không cần phải truy cập trực tiếp vào tệp cấu hình chính của máy chủ. .htaccess thường được đặt trong thư mục gốc của trang web, và các quy tắc hoặc chỉ dẫn trong tệp này sẽ được áp dụng cho thư mục đó và tất cả các thư mục con bên dưới.

Những công dụng chính của file .htaccess

Quản lý URL và Điều hướng

    • URL Rewriting (Viết lại URL): Giúp tạo ra các URL thân thiện với người dùng và công cụ tìm kiếm (SEO). Ví dụ: chuyển hướng từ http://example.com/index.php?page=1 thành http://example.com/page/1.
      RewriteEngine On
      RewriteRule ^page/([0-9]+)$ index.php?page=$1 [L]
      
    • Chuyển hướng 301/302 (Redirect): Dùng để chuyển hướng các trang cũ sang trang mới, có thể là chuyển hướng tạm thời (302) hoặc vĩnh viễn (301).
      Redirect 301 /oldpage.html http://www.example.com/newpage.html
      

Bảo mật

    • Bảo vệ thư mục bằng mật khẩu: Giới hạn truy cập vào các thư mục bằng cách yêu cầu tên người dùng và mật khẩu.
      AuthType Basic
      AuthName "Restricted Area"
      AuthUserFile /path/to/.htpasswd
      Require valid-user
      
    • Chặn IP: Ngăn chặn các địa chỉ IP cụ thể truy cập trang web của bạn.
      Order Deny,Allow
      Deny from 123.456.789.000
      
    • Chặn truy cập từ các user-agent cụ thể: Ngăn chặn các bot hoặc trình duyệt không mong muốn.
      SetEnvIfNoCase User-Agent "BadBot" bad_bot
      Deny from env=bad_bot
      
    • Chống hotlinking: Ngăn chặn các trang web khác sử dụng hình ảnh và tài nguyên của bạn một cách bất hợp pháp.
      RewriteEngine On
      RewriteCond %{HTTP_REFERER} !^$
      RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
      RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
      

Tối ưu hóa hiệu suất

    • Bật nén Gzip: Giảm dung lượng truyền tải bằng cách nén các tệp tin CSS, JavaScript và HTML.
      <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
      </IfModule>
      
    • Thiết lập bộ nhớ đệm (Caching): Tăng tốc độ tải trang bằng cách lưu trữ các tài nguyên tĩnh trên trình duyệt của người dùng.
      <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresByType image/jpg "access 1 year"
        ExpiresByType image/jpeg "access 1 year"
        ExpiresByType image/gif "access 1 year"
        ExpiresByType image/png "access 1 year"
        ExpiresByType text/css "access 1 month"
        ExpiresByType application/pdf "access 1 month"
        ExpiresByType application/javascript "access 1 month"
        ExpiresByType text/x-javascript "access 1 month"
        ExpiresByType application/x-shockwave-flash "access 1 month"
      </IfModule>
      

Tùy chỉnh trang lỗi (Error Pages)

    • Trang lỗi tùy chỉnh: Tạo các trang lỗi 404, 500, và các lỗi khác để có giao diện người dùng thân thiện hơn.
      ErrorDocument 404 /custom_404.html
      ErrorDocument 500 /custom_500.html
      

Thiết lập quyền truy cập và bảo vệ file

    • Bảo vệ file .htaccess và .htpasswd: Ngăn chặn truy cập vào các file quan trọng này từ trình duyệt.
      <Files .htaccess>
        Order Allow,Deny
        Deny from all
      </Files>
      
    • Ngăn chặn duyệt thư mục: Không cho phép người dùng duyệt qua các thư mục của bạn.
      Options -Indexes
      

Tùy chỉnh và tối ưu hóa PHP

    • Tùy chỉnh các thiết lập PHP: Sử dụng .htaccess để thay đổi các cài đặt PHP như max_execution_time, memory_limit, v.v. php_value max_execution_time 300 php_value memory_limit 128M

Chuyển hướng HTTPS

    • Bắt buộc sử dụng HTTPS: Chuyển hướng tất cả các truy cập HTTP sang HTTPS để tăng cường bảo mật.
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      

Kiểm soát truy cập vào trang web

    • Giới hạn truy cập theo giờ hoặc ngày: Chỉ cho phép truy cập vào trang web trong một khoảng thời gian cụ thể.
      SetEnvIf Request_Time "%{TIME_HOUR} >= 9 && %{TIME_HOUR} <= 17" workhours
      Deny from all
      Allow from env=workhours
      

Tích hợp với các công cụ khác

    • Cấu hình cho WordPress: .htaccess có thể được sử dụng để tối ưu hóa và bảo vệ trang WordPress.
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>
      # END WordPress
      

Quản lý nội dung và đa ngôn ngữ

    • Thiết lập trang web đa ngôn ngữ: Định tuyến người dùng đến phiên bản ngôn ngữ phù hợp của trang web dựa trên đường dẫn URL.
      RewriteEngine On
      RewriteCond %{HTTP:Accept-Language} ^en [NC]
      RewriteRule ^$ /en/ [R=301,L]
      RewriteCond %{HTTP:Accept-Language} ^fr [NC]
      RewriteRule ^$ /fr/ [R=301,L]
      

File .htaccess là một công cụ mạnh mẽ và linh hoạt cho việc quản lý và tối ưu hóa trang web trên cPanel, cung cấp nhiều khả năng để bảo mật, tối ưu hóa hiệu suất, và điều hướng người dùng. Tuy nhiên, việc chỉnh sửa .htaccess cần cẩn thận, vì lỗi trong tập tin này có thể làm trang web không hoạt động.

Tổng kết

Trên đây là những thông tin cơ bản về file .htaccess và những công dụng của nó. 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, BKNS sẽ cùng thảo luận và giải đáp thắc mắc của bạn.

Đừng quên theo dõi huongdan.bkns và BKNS để không bỏ lỡ những bài viết hay và hữu ích tiếp theo nhé!

BÀI VIẾT LIÊN QUAN

Hướng Dẫn Dịch Vụ Hosting