Bất cứ khi nào bạn di chuyển một trang web hoặc thậm chí chỉ di chuyển một trang đến một URL mới, chuyển hướng đảm bảo rằng người dùng của bạn không bị lạc trong quá trình xáo trộn. Các công cụ tìm kiếm cũng sử dụng các chuyển hướng để hỗ trợ lập chỉ mục đúng nội dung trang web của bạn
Điều quan trọng là phải hiểu sự khác biệt giữa hai loại chuyển hướng phổ biến nhất
- Chuyển hướng vĩnh viễn — Chuyển hướng vĩnh viễn hoặc chuyển hướng 301 nên được sử dụng bất cứ khi nào bạn di chuyển vĩnh viễn một trang, thư mục hoặc trang web
- Chuyển hướng tạm thời — Nên sử dụng chuyển hướng tạm thời hoặc chuyển hướng 302 nếu bạn muốn tạm thời trỏ người dùng đến một vị trí khác
Nếu bạn đang chạy một máy chủ Apache, thì bạn có thể tạo một tệp có tên
Redirect 301 "/old-page.html" "/new-page.html"
2 trong bất kỳ thư mục nào để có thể ghi đè cục bộ một số cấu hình máy chủ. Việc một tệp Redirect 301 "/old-page.html" "/new-page.html"
2 tồn tại trong thư mục gốc của một trang web là rất phổ biến. Bạn có thể sử dụng một cú pháp rất đơn giản trong tệp Redirect 301 "/old-page.html" "/new-page.html"
2 để thiết lập chuyển hướng trang, thư mục và toàn bộ trang web. Mặc dù bạn có thể khá nâng cao với các chuyển hướng URL, nhưng chúng tôi sẽ bắt đầu với các trường hợp sử dụng đơn giản nhấtCó ba trường hợp sử dụng phổ biến khi thiết lập chuyển hướng
- Chuyển hướng một trang sang một trang mới
- Chuyển hướng toàn bộ thư mục sang một thư mục mới
- Chuyển hướng toàn bộ trang web đến một trang web mới
Cú pháp chuyển hướng
Đây là cú pháp cơ bản để chuyển hướng được viết bằng chỉ thị chuyển hướng mod_alias trong Apache
Redirect [status] URL-path URL
- Hãy chắc chắn rằng bạn viết hoa
5 trongRedirect 301 "/old-page.html" "/new-page.html"
0 nếu không nó sẽ không hoạt động. Mọi thứ đều phân biệt chữ hoa chữ thườngRedirect 301 "/old-page.html" "/new-page.html"
- Trạng thái là tùy chọn và thường là một số biểu thị mã trạng thái HTTP mà bạn muốn gửi tới trình duyệt. Bạn có thể sử dụng từ
1 ở vị trí củaRedirect 301 "/old-page.html" "/new-page.html"
2, hoặcRedirect 301 "/old-page.html" "/new-page.html"
3 ở vị trí củaRedirect 301 "/old-page.html" "/new-page.html"
4. Nếu không được cung cấp, thìRedirect 301 "/old-page.html" "/new-page.html"
4 sẽ được sử dụng làm giá trị mặc địnhRedirect 301 "/old-page.html" "/new-page.html"
- Đường dẫn URL là bắt buộc và luôn là đường dẫn liên quan đến thư mục gốc của trang, không phải vị trí của tệp
2Redirect 301 "/old-page.html" "/new-page.html"
- URL là bắt buộc và là đường dẫn liên quan đến thư mục gốc của trang, giả sử chuyển hướng nằm trong cùng một trang hoặc URL tuyệt đối nếu chuyển hướng trỏ đến một trang khác
Chuyển hướng một trang
Hãy bắt đầu với một chuyển hướng đơn giản nơi bạn muốn trỏ một trang đến một trang khác
Redirect 301 "/old-page.html" "/new-page.html"
Như bạn có thể thấy, chúng tôi đang thực hiện chuyển hướng 301 [vĩnh viễn] từ một trang trên trang web hiện tại sang một trang khác trên cùng một trang web
Nếu trang mới nằm ở một tên miền khác hoặc thậm chí tên miền phụ, thì đây là cách bạn viết chuyển hướng
________số 8Hoàn toàn có thể chấp nhận sử dụng phương pháp này ngay cả khi trang nằm trên cùng một trang. Rõ ràng hơn và sử dụng một URL tuyệt đối không bao giờ gây hại
Xem ví dụ cuối diễn ra như thế nào với một vài biến thể URL khác nhau
Redirect 301 "/old-page.html" "/new-page.html"
7Redirect 301 "/old-page.html" "/new-page.html"
82Redirect 301 "/old-page.html" "/new-page.html"
9Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
03Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
1Redirect 301 "/old-page.html" "/new-page.html"
84Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
3Redirect 301 "/old-page.html" "/new-page.html"
8Giải trình
- Chuyển hướng số 1 — Đưa một trang trên tên miền cũ sang trang mới trên tên miền mới
- Chuyển hướng #2 — Thực hiện tương tự như chuyển hướng đầu tiên, nhưng chứng minh rằng bất kỳ tham số GET URL nào cũng được chuyển như một phần của chuyển hướng
- Chuyển hướng #3 — Một ví dụ về chuyển hướng từ tên miền hiện tại sang tên miền phụ
- Chuyển hướng #4 — Thể hiện một chuyển hướng diễn ra trên cùng một tên miền [phụ]
Chuyển hướng toàn bộ thư mục
Đây là một ví dụ về cách bạn sẽ chuyển hướng từ thư mục này sang thư mục khác
Redirect 301 "/old-page.html" "/new-page.html"
7Một lần nữa, chúng ta hãy xem kỹ ví dụ này có thể diễn ra như thế nào
#Target URLDestination URL1Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
5Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
62Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
7Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
83Redirect 301 "/old-page.html" "//www.new.com/new-page.html"
9Redirect 301 "/old-page.html" "/new-page.html"
704Redirect 301 "/old-page.html" "/new-page.html"
71Redirect 301 "/old-page.html" "/new-page.html"
725Redirect 301 "/old-page.html" "/new-page.html"
73Redirect 301 "/old-page.html" "/new-page.html"
74Giải trình
- Chuyển hướng số 1 — Đưa thư mục trên miền cũ sang thư mục mới trên miền mới
- Chuyển hướng #2 — Hiển thị rằng mọi trang riêng lẻ trong thư mục cũ sẽ tự động được chuyển hướng đến cùng một vị trí trong thư mục mới
- Chuyển hướng #3 — Hiển thị rằng mọi thư mục con trong thư mục cũ sẽ tự động được chuyển hướng đến cùng một vị trí trong thư mục mới
- Chuyển hướng số 4 - Minh họa bản chất đệ quy của chuyển hướng
- Chuyển hướng số 5 — Thực hiện tương tự như chuyển hướng đầu tiên, nhưng chứng minh rằng các tham số URL GET luôn được chuyển như một phần của chuyển hướng
Giả định với loại chuyển hướng này là nội dung của thư mục trên URL đích giống hệt như trước đây trên URL mục tiêu. Nói cách khác, chỉ có tên thư mục đã thay đổi
Có thể kết hợp chuyển hướng thư mục và một số chuyển hướng trang đơn, như thế này
Redirect 301 "/old-page.html" "/new-page.html"
8Ví dụ này cho thấy rằng thứ tự là quan trọng. Khi một quy tắc chuyển hướng được nhấn, nó sẽ xảy ra ngay lập tức. Phần còn lại của tệp không được xử lý theo quy tắc chuyển hướng. Nếu chuyển hướng trang đơn của chúng tôi không thành công, thì chuyển hướng thư mục chung sẽ xảy ra. Đây là cách thích hợp để xử lý chuyển hướng trong đó nội dung của thư mục trên URL đích giống hệt như trước đây trên URL mục tiêu, ngoại trừ các trang
Redirect 301 "/old-page.html" "/new-page.html"
75 và Redirect 301 "/old-page.html" "/new-page.html"
76Chuyển hướng toàn bộ trang web
Đây là một ví dụ về cách bạn sẽ chuyển hướng toàn bộ trang web
Redirect 301 "/old-page.html" "/new-page.html"
1Như bạn có thể thấy, chuyển hướng này giả định rằng mọi thứ trên trang web mới đều ở cùng một vị trí như trên trang web cũ