OVIRO LogoOVIRO | Trợ giúp
Tuỳ biến (Customization)

Redirect Link

Cấu hình redirect URL từ source URL sang redirect URL với 301/302. Truy cập bằng đường dẫn trực tiếp.

Redirect Link (/redirectlink) cho phép admin cấu hình redirect URL: khi user vào source URL, frontend tự redirect về redirect URL với HTTP status 301/302.

Vị trí menu admin

Tính năng không có item cố định trong sidebar. Người dùng truy cập bằng URL trực tiếp /redirectlink.

Component: pages/RedirectLinkPage.tsxfeatures/redirectlink/list/RedirectLinkList.tsx + form/RedirectLinkForm.tsx.

Phân biệt với CMS Redirects

Module CMS có thể có entity tên gần giống. So sánh:

/redirectlink (Customization)CMS Redirects
Mục đíchGeneric URL → URL redirectRedirect đặc thù CMS (page slug đổi).
RepositoryRedirectLinkRepositoryCó thể là entity con của CMS Page.
Source typeCustom + 301/302Có thể nhiều loại hơn.

Hiện tại 2 hệ tồn tại song song; khi cấu hình redirect, cần xác định rõ đang dùng hệ nào để tránh trùng rule.

Giao diện danh sách

<PageDataTable> (tableColumnToggleKey: "redirect-link") cột:

CộtKeyWidthGhi chú
IDid50center, toggletype: ignore.
Source URLsource_url200URL gốc cần redirect.
Redirect URLredirect_url200URL đích sau redirect.
Source typesource_type100Render getSourceType(source_type).label (Custom / Auto / ...).
Redirect typeredirect_type100Render getRedirectType(redirect_type).label (Permanent 301 / Temporary 302).
Trạng tháistatus100Tag màu.
Actionstrigger125Edit + Delete. Quyền thao tác phụ thuộc vào cấu hình quyền backend của tenant.

Header có nút Thêm mới để tạo redirect rule.

Form (modal RedirectLinkFormModal)

FieldTênRequiredLoại
Source typesource_type<FormSelect> từ getSourceTypeList(). Default SOURCE_TYPE_CUSTOM. Required message error_source_type_required.
Source URLsource_url<Input>. Required message error_source_url_required.
Redirect typeredirect_type<FormSelect> từ getRedirectTypeList(). Default REDIRECT_TYPE_PERMANENT (301).
Redirect URLredirect_url<Input>. Required message error_redirect_url_required.
Trạng tháistatus-<FormSelect>. Default STATUS_ENABLE nếu trống.

Submit qua RedirectLinkRepository.saveRemote(payload). Lỗi prefix redirectlink:form.error. Success message common:form.success.save.

FormChangedContext - tracking thay đổi để warning leave page.

Khi nào dùng

  • Migrate URL cũ sang URL mới (rebrand, restructure category).
  • Redirect campaign URL ngắn sang landing page.
  • Permanent 301 cho SEO; Temporary 302 cho campaign tạm thời.

Các lối đi từ trang

  • Module CMS Redirects (xem so sánh trên).
  • Test redirect: paste source URL vào browser, verify redirect xảy ra với status code đúng.

Lưu ý - Lỗi thường gặp

  • Redirect không xảy ra: kiểm tra (1) status Enable, (2) source URL khớp pattern (path tuyệt đối hay tương đối tuỳ implementation), (3) backend có hoạt động.
  • Loop redirect: source URL trùng redirect URL, hoặc 2 record vòng tròn (A→B, B→A).
  • 301 vs 302: 301 cache vĩnh viễn; 302 không cache. Chọn cẩn thận - sai là khó đảo (browser cache 301).
  • Quyền thao tác: nếu không thấy hoặc không thực hiện được nút tạo/sửa/xoá, kiểm tra quyền cấu hình của tài khoản.
  • Trùng với CMS Redirects: cùng tenant có thể có 2 hệ thống redirect khác nhau. Khi kiểm tra redirect, rà soát cả hai nơi để tránh rule chồng lấn.

Ai được xem và chỉnh?

  • Mở /redirectlink: tài khoản admin đã đăng nhập.
  • Tạo/sửa/xoá redirect: phụ thuộc quyền thao tác do backend cấu hình cho tenant.

On this page