Bộ tạo đường dẫn chuyển hướng Htaccess
Mỗi khi bạn di chuyển một blog, thay đổi cấu trúc URL hoặc hợp nhất các trang cũ, tệp .htaccess của Apache sẽ phải gánh chịu phần lớn công việc chỉnh sửa. Bộ tạo này có thể chuyển đổi mối tương ứng đơn giản giữa mã nguồn và mã đích thành các chỉ dẫn RewriteRule phù hợp với các flag cần thiết, sẵn sàng để sử dụng ngay trong tệp .htaccess của trang web.
Cách tạo các quy tắc chuyển hướng
-
1
Chọn loại chuyển hướng
301: Duy trì vĩnh viễn cho các thao tác tối ưu hóa tìm kiếm an toàn; 302: Tạm thời dùng cho các bài kiểm tra A/B và chuyển hướng theo mùa.
-
2
Nhập nguồn và đích
Đường dẫn chính xác hoặc mẫu regex: đường dẫn cũ trở thành mẫu RewriteRule và URL mới trở thành đích chuyển hướng.
-
3
Kiểm tra các flag
Mỗi quy tắc tự động nhận đúng flag, `[R=301,L]` hoặc `[R=302,L]`, để khối lệnh hoạt động ngay với mod_rewrite.
-
4
Sao chép các chỉ thị
Khối dữ liệu được tạo ra sẽ được đặt vào phần `<IfModule mod_rewrite.c>` của tệp .htaccess.
Các lệnh mod_rewrite và mod_alias
Apache cung cấp hai mô-đun dành cho việc chuyển hướng; hãy chọn phù hợp với mức độ phức tạp của quy tắc.
Hướng dẫn lựa chọn
| Yêu cầu | Sử dụng | Ví dụ |
|---|---|---|
| URL cũ chính xác → URL mới chính xác | Redirect |
Redirect 301 /old /new |
| Tiền tố wildcard | RedirectMatch |
RedirectMatch 301 ^/blog/(.*)$ /articles/$1 |
| Khớp theo chuỗi truy vấn | RewriteRule |
Xem bên dưới |
| Bắt buộc HTTPS | RewriteRule |
RewriteCond %{HTTPS} off + quy tắc |
| Có điều kiện (trình duyệt, cookie) | RewriteRule |
Kết hợp với RewriteCond |
Ví dụ: yêu cầu sử dụng giao thức HTTPS với địa chỉ www
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ví dụ: di chuyển /blog/post-123 sang /articles/post-123
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [L,R=301]
Các cờ (flag) bạn sẽ thấy
L, cuối cùng, không tiếp tục xử lý các quy tắc khác.R=301hoặcR=302, chuyển hướng bằng mã trạng thái đó.NC, không phân biệt chữ hoa và chữ thường.QSA, thêm chuỗi truy vấn gốc vào URL mới.NE, không mã hóa lại các ký tự đặc biệt trong đích đến.
Các lỗi phổ biến
- Bỏ quên
RewriteEngine On, nếu không có nó thì mọi RewriteRule đều không có tác dụng. - Mặc định dùng 302, Google coi đây là tạm thời, do đó URL cũ vẫn giữ nguyên thứ hạng.
- Chuyển hướng theo chuỗi (cũ → trung gian → cuối cùng), luôn hướng tới chỉ một bước nhảy; mỗi bước nhảy thêm làm mất giá trị liên kết (link equity) và tăng độ trễ.
Câu hỏi thường gặp
Hãy sử dụng mã chuyển hướng 301 cho các thay đổi vĩnh viễn như di dời trang web, thay đổi tên dạng tắt của URL hoặc nâng cấp sang giao thức HTTPS. Chỉ sử dụng mã chuyển hướng 302 trong các trường hợp tạm thời, chẳng hạn như chuyển hướng đến trang bảo trì hoặc thực hiện phân bổ thử nghiệm A/B. Các công cụ tìm kiếm truyền các tín hiệu về thứ hạng trên mã chuyển hướng 301 một cách đáng tin cậy, nhưng không phải trên mã chuyển hướng 302.
Nguyên nhân phổ biến nhất là quên dấu gạch chéo đầu tiên trong mẫu. Trong RewriteRule, mẫu khớp với đường dẫn mà không có dấu gạch chéo đầu (ví dụ: ^blog/); trong Redirect (mod_alias), mẫu lại bắt đầu bằng dấu gạch chéo (ví dụ: /blog). Không nên lẫn lộn hai quy ước này.
Đúng vậy – hãy sử dụng RewriteCond %{QUERY_STRING} ^id=123$ trước khi sử dụng RewriteRule. Phương thức chuyển hướng đơn giản không đọc chuỗi truy vấn; chỉ RewriteRule mới có thể khớp với nó.
Đúng vậy, trong mỗi yêu cầu tiếp theo, Apache sẽ đọc lại tệp .htaccess; không cần khởi động lại máy chủ. Nếu không có phản ứng nào xảy ra, hãy kiểm tra xem biến AllowOverride All có được thiết lập trong file vhost của thư mục đó hay không.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Bảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Công cụ xác thực số điện thoại
Kiểm tra cấu trúc số theo quốc gia và xem khu vực, loại số cùng các định dạng E.164, quốc tế, quốc gia và RFC 3966.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Htaccess-omdirigeringsgenerator [SV]
- Htaccess Weiterleitungs-Generator [DE]
- ตัวสร้าง Redirect สำหรับ Htaccess [TH]
- Générateur de redirection Htaccess [FR]
- Gerador de Redirecionamento Htaccess [PT]
- Generator Redireksi Htaccess [ID]
- Htaccessリダイレクトジェネレータ [JA]
- Generador de redirección Htaccess [ES]
- Htaccess-redirectgenerator [NL]
- مولد إعادة توجيه Htaccess [AR]
- Generator przekierowań .htaccess [PL]
- Htaccess 리다이렉트 생성기 [KO]
- Генератор перенаправлений для Htaccess [RU]
- Htaccess Yönlendirme Oluşturucu [TR]
- Htaccess重定向生成器 [ZH]
- Htaccess Redirect Generator [EN]
- Generatore di Redirect Htaccess [IT]