T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

Công cụ Tạo .htaccess

Tạo các quy tắc .htaccess phổ biến cho trang web của bạn. Chọn các tùy chọn bạn cần và sao chép mã đã tạo.

Tùy chọn

Performance

Security

Mã .htaccess Đã Tạo
Important Notes

• The .htaccess file should be placed in the root directory of your website
• Make sure mod_rewrite is enabled on your Apache server
• Always backup your existing .htaccess file before replacing it
• Some hosting providers may restrict certain .htaccess directives

Cách sử dụng Công cụ Tạo .htaccess

  1. 1

    Nhập tên miền của bạn

    Gõ tên miền của bạn, chẳng hạn example.com, vào ô Domain Settings.

  2. 2

    Chọn các quy tắc

    Chọn những tùy chọn bạn cần, như Force HTTPS, ép buộc hoặc loại bỏ www, nén GZIP, chống hotlink, hoặc trang lỗi tùy chỉnh.

  3. 3

    Thêm chuyển hướng

    Với chuyển hướng URL, nhập đường dẫn cũ và mới, rồi chọn chuyển hướng vĩnh viễn 301 hoặc tạm thời 302.

  4. 4

    Sao chép hoặc tải xuống

    Dùng Copy to Clipboard hoặc Download .htaccess và tải tệp lên thư mục gốc của trang web.

Làm chủ tệp .htaccess của Apache

Tệp .htaccess thực sự làm gì

Tệp .htaccess là một tệp cấu hình theo từng thư mục dành cho máy chủ web Apache. Khi Apache được biên dịch với AllowOverride bật lên, nó đọc tệp .htaccess trong thư mục mà nó đang phục vụ, cộng với những tệp trong mọi thư mục cha, rồi áp dụng các chỉ thị của chúng cho yêu cầu đó. Điều này cho phép bạn thay đổi hành vi máy chủ, chuyển hướng, bộ nhớ đệm, kiểm soát truy cập và nhiều thứ khác mà không phải đụng đến cấu hình máy chủ chính hay khởi động lại Apache. Các thay đổi có hiệu lực ngay ở yêu cầu kế tiếp, và đó là điều khiến .htaccess tiện lợi đến vậy trên hosting dùng chung nơi bạn không có quyền truy cập vào cấu hình chính.

Tên tệp đúng theo nghĩa đen là .htaccess, với một dấu chấm ở đầu và không có phần mở rộng, và trên các hệ thống kiểu Unix, dấu chấm khiến nó trở thành một tệp ẩn. Nó thuộc về thư mục mà bạn muốn thay đổi hành vi; phổ biến nhất là thư mục gốc tài liệu của trang web. Một quy tắc đặt ở thư mục gốc áp dụng cho toàn bộ trang web trừ khi một tệp .htaccess nằm sâu hơn ghi đè lên nó.

Chỉ dành cho Apache: Nginx và các máy chủ khác bỏ qua nó

Đây là điều đầu tiên cần xác minh trước khi bạn viết dù chỉ một quy tắc: .htaccess là một tính năng của Apache. Nginx, máy chủ web phổ biến hàng đầu còn lại, hoàn toàn không đọc các tệp .htaccess và sẽ không bao giờ đọc, theo thiết kế. Nếu trang web của bạn chạy trên Nginx, việc thả một tệp .htaccess vào thư mục gốc chẳng làm được gì, và các chuyển hướng, viết lại và header tương đương phải được diễn đạt trong khối server của Nginx thay vào đó. LiteSpeed và một vài máy chủ tương thích Apache thì có hiểu cú pháp .htaccess, nhưng Nginx, Caddy và IIS mỗi loại lại dùng định dạng cấu hình riêng của mình.

Nếu bạn không chắc mình đang dùng máy chủ nào, hãy kiểm tra header phản hồi Server, mà Trình Xem Header HTTP của trang này có thể cho bạn thấy. Thấy Apache ở đó xác nhận .htaccess sẽ hoạt động; thấy nginx nghĩa là bạn đang đi sai đường với tệp này.

Chuyển hướng và chuẩn hóa với mod_rewrite

Công việc phổ biến nhất của .htaccess là chuyển hướng URL, mà nó thực hiện thông qua module mod_rewrite được gói trong một khối RewriteEngine On. Một lần dời vĩnh viễn đơn giản dùng Redirect 301 từ một đường dẫn cũ sang một đường dẫn mới, trong khi RewriteRule xử lý các chuyển hướng dựa trên mẫu bằng biểu thức chính quy. Hai tác vụ chuẩn hóa mà gần như mọi trang web đều cần là ép buộc một tên máy chủ duy nhất (hoặc luôn dùng www hoặc luôn không dùng www) và ép buộc HTTPS, cả hai đều đạt được bằng một RewriteCond kiểm tra yêu cầu đến, theo sau là một RewriteRule phát ra một mã 301 trỏ đến phiên bản chuẩn.

Hãy luôn dùng 301 (vĩnh viễn) cho những lần dời mà bạn định giữ lâu dài, vì 301 truyền giá trị liên kết sang đích và báo cho công cụ tìm kiếm cập nhật chỉ mục của họ. Một chi tiết tinh tế nhưng quan trọng là tránh các chuỗi chuyển hướng: hãy gửi http://example.com thẳng đến https://www.example.com trong một bước nhảy, thay vì nảy qua https://example.com trước. Mỗi bước nhảy thừa làm tăng độ trễ và làm loãng nhẹ các tín hiệu xếp hạng, và Trình Kiểm tra Chuỗi Chuyển hướng của trang này có thể giúp bạn phát hiện điều đó.

Hiệu năng: nén, bộ nhớ đệm và cái giá của AllowOverride

Hai tính năng của .htaccess đem lại lợi ích hiệu năng tức thì. Nén GZIP, được cấu hình thông qua mod_deflate, thu nhỏ các phản hồi dạng văn bản như HTML, CSS và JavaScript trước khi chúng được gửi đi, thường cắt giảm kích thước truyền tải từ 60 đến 80 phần trăm. Bộ nhớ đệm trình duyệt, được thiết lập bằng các header Cache-Control và Expires thông qua mod_expires hoặc mod_headers, báo cho trình duyệt tái sử dụng các tài nguyên tĩnh như hình ảnh và font thay vì tải lại chúng trong mỗi lần ghé thăm. Cùng nhau, đây là một trong những cải tiến tốc độ có tác động cao nhất và ít tốn công nhất hiện có.

Tuy vậy, bản thân .htaccess có một cái giá ẩn. Vì Apache phải kiểm tra một tệp .htaccess trong mọi thư mục dọc theo đường dẫn của mọi yêu cầu, việc bật AllowOverride sẽ thêm các lần truy vấn hệ thống tệp vào mỗi yêu cầu. Trên một trang web nhiều lưu lượng mà bạn kiểm soát, việc chuyển các chỉ thị này vào cấu hình máy chủ chính và đặt AllowOverride None sẽ nhanh hơn một cách đo lường được. Trên hosting dùng chung, bạn thường không có lựa chọn nào khác, và sự tiện lợi vượt trội hơn chi phí phụ trội, nhưng cũng đáng để biết vì sao .htaccess bị khuyến cáo không nên dùng trên các máy chủ đòi hỏi hiệu năng cao.

Bảo mật, trang lỗi và kiểm soát truy cập

Ngoài chuyển hướng và hiệu năng, .htaccess còn được dùng rộng rãi để gia cố và trau chuốt một trang web. Các trang lỗi tùy chỉnh, được thiết lập bằng chỉ thị ErrorDocument, thay thế những màn hình lỗi mặc định ảm đạm của Apache bằng các trang có thương hiệu cho phản hồi 404 và 500, vốn tốt hơn cho cả người dùng lẫn bảo mật. Bảo vệ hotlink dùng RewriteCond trên header Referer để ngăn các trang web khác nhúng hình ảnh của bạn và ngốn băng thông của bạn. Bạn cũng có thể gửi các header bảo mật như X-Frame-Options, Content-Security-Policy và Strict-Transport-Security thông qua chỉ thị Header.

Về kiểm soát truy cập, .htaccess có thể hạn chế một thư mục theo địa chỉ IP hoặc yêu cầu mật khẩu thông qua .htpasswd, và nó có thể chặn các lượt quét liệt kê tác giả vốn dò tìm tên người dùng trên các hệ thống quản lý nội dung. Những biện pháp kiểm soát này thực sự hữu ích, nhưng hãy nhớ rằng chúng chỉ chạy khi Apache phục vụ yêu cầu qua đường dẫn thông thường; hãy kết hợp chúng với bảo mật đúng đắn ở tầng ứng dụng thay vì chỉ dựa vào riêng .htaccess.

Cú pháp không khoan nhượng: hãy kiểm thử trước khi tin tưởng

Rủi ro lớn nhất với .htaccess là một lỗi cú pháp thường không thất bại một cách lặng lẽ. Thay vào đó nó kích hoạt một lỗi 500 Internal Server Error cho mọi trang nằm dưới thư mục đó, khiến cả trang web ngừng hoạt động cho đến khi tệp được sửa. Không có bước biên dịch và không có khâu kiểm tra hợp lệ trước khi triển khai, nên một lỗi gõ, một module thiếu, hay một chỉ thị mà nhà cung cấp hosting của bạn đã tắt đều có thể phá hỏng mọi thứ ngay tức khắc. Các chỉ thị Apache cũng nhạy cảm với thứ tự: các quy tắc viết lại được đánh giá từ trên xuống dưới, và một quy tắc rộng đặt trước một quy tắc cụ thể có thể nuốt mất những yêu cầu mà quy tắc cụ thể lẽ ra phải bắt được.

Quy trình an toàn là luôn sao lưu tệp .htaccess hiện có trước khi thay đổi nó, triển khai các thay đổi vào những khung giờ ít lưu lượng, và tải trang ngay sau đó để xác nhận nó vẫn phản hồi. Nếu bạn thấy một lỗi 500, hãy khôi phục bản sao lưu trước và gỡ lỗi sau. Khi một chỉ thị phụ thuộc vào một module như mod_rewrite hoặc mod_deflate, hãy xác nhận nhà cung cấp hosting của bạn đã bật module đó, vì các quy tắc cho một module bị thiếu có thể báo lỗi.

Câu hỏi thường gặp

Bộ tạo này có thể tạo ra những quy tắc nào?
Nó xây dựng các quy tắc Apache phổ biến bao gồm ép buộc hoặc loại bỏ www, ép buộc HTTPS, chuyển hướng 301 và 302, nén GZIP, kiểm soát bộ nhớ đệm, chống hotlink, trang lỗi tùy chỉnh, kiểu MIME và tệp index mặc định.
Khác biệt giữa chuyển hướng 301 và 302 là gì?
301 là chuyển hướng vĩnh viễn truyền giá trị SEO sang URL mới, còn 302 là tạm thời và báo cho công cụ tìm kiếm biết URL gốc sẽ quay trở lại.
Tôi đặt tệp .htaccess đã tạo ở đâu?
Đặt nó vào thư mục gốc của trang web trên máy chủ Apache. Các quy tắc có hiệu lực ngay lập tức, nên hãy sao lưu tệp .htaccess hiện có trước.
Công cụ này có hoạt động trên Nginx hay máy chủ khác không?
Không. Định dạng .htaccess dành riêng cho Apache (và các máy chủ tương thích có mod_rewrite). Nginx dùng cú pháp cấu hình riêng của nó.
Mã được tạo ra có được gửi đi đâu không?
Không. Các quy tắc được lắp ráp trong trình duyệt của bạn từ các tùy chọn bạn chọn, nên không có gì được tải lên, và công cụ miễn phí, không cần đăng ký.

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Kiểm Tra Chuỗi Chuyển Hướng URL

Công Cụ Tạo Thẻ Meta

Tạo Robots.txt

Open Graph Previewer

Bộ Mã Hóa/Giải Mã Thực Thể HTML

Trình Xem Header HTTP