Cách quản lý chuyển hướng hàng loạt trong ASP.NET

lập trình


Tôi muốn quản lý 301.404 và các chuyển hướng khác. Tôi có thể tạo một bảng trong cơ sở dữ liệu máy chủ sql (sẽ chứa url cũ và mới). Cách gọi họ ở máy chủ giao diện người dùng khi có ai truy cập URL cũ.

Ưu tiên giải pháp không phải MVC. Phải nhanh.

Tôi đánh giá cao bất kỳ sự giúp đỡ. Cảm ơn.

Những gì tôi đã thử:

Tôi đã thử sử dụng nó một cách thủ công nhưng hiện tại nó không khả thi với quá nhiều URL.

Giải pháp 3

Có vô số cách có thể xử lý chuyển hướng. Thứ tự của những thứ này có ý nghĩa quan trọng ở mức độ chi phí ứng dụng được tạo ra, nếu có; càng ít chi phí liên quan thì trang web của bạn sẽ càng có hiệu suất cao hơn.

1. Ở cấp độ máy chủ (web). Điều này thường được thực hiện thông qua một .htaccess tập tin hoặc trong các trang web ASP.NET có thể thông qua web.config tài liệu. Ưu điểm của phương pháp này là có rất ít tác động đến ứng dụng nên bạn sẽ thấy tác động hiệu suất gần như bằng 0. Nhược điểm của phương pháp này là nó được thực hiện thông qua tệp cấu hình cho ứng dụng và thường yêu cầu khởi động lại ứng dụng.

2. Trong đường dẫn http. Điều này sẽ thông qua một mô-đun (còn gọi là hook, handler). Điều này có thể được viết để chặn mọi yêu cầu và xác định xem chúng ta nên để nó truy cập trang web hay chúng ta cần làm gì khác; chẳng hạn như chuyển hướng, trả về 404, v.v. Ưu điểm là tính năng này vẫn còn ở giai đoạn đầu và có ít tác động đến hiệu suất và rất mạnh mẽ. Nhược điểm của phương pháp này là đây là phương pháp khó thực hiện hiệu quả nhất. Đây là một tùy chọn rất mạnh mẽ và có thể làm sập trang web của bạn chỉ bằng một lỗi đơn giản.

3. Tệp phía máy chủ. Mỗi tệp đều có một chuyển hướng có lập trình nằm bên trong nó. Rất tẻ nhạt để duy trì. Bạn cũng có thể sử dụng điều này trong bộ điều khiển MVC. Toàn bộ ứng dụng là cần thiết để chạy này.

4. Tệp phía máy khách. Mỗi tệp html đều có phần tử trong đó. Nhược điểm tương tự như biến thể phía máy chủ và nó yêu cầu trình duyệt phải xử lý thực sự – cùng với thực tế là có thể không được hỗ trợ hoặc bị vô hiệu hóa.

Làm thế nào để với một DB. Bạn có thể triển khai cả 4 phương thức bằng cách sử dụng DB. Phương pháp bạn chọn để triển khai giải pháp chuyển hướng sẽ quyết định cách tích hợp DB. Nếu bạn đang sử dụng tệp cấu hình/htaccess, bạn cần phải viết lại khối chuyển hướng dựa trên bảng DB của mình.

Cá nhân tôi sử dụng phương pháp 2 vì tôi cần phát triển iHttpHandler cho mục đích bảo mật trong CMS dựa trên MVC. Tôi tải tất cả các chuyển hướng vào một bộ sưu tập và quét nó để tìm mọi yêu cầu. Các phiên bản trước đó đã truy cập DB trong mỗi cuộc gọi nhưng điều này đã tạo ra chi phí mà tôi cần phải loại bỏ.

Giải pháp 1

Sử dụng cơ sở dữ liệu để quản lý việc này là – à – ngu ngốc. Google sẽ cung cấp vô số lựa chọn thay thế, chẳng hạn như lựa chọn này.

Cách tự động chuyển hướng trình duyệt đến một trang web khác từ trang web của bạn[^]

Giải pháp 2

Bạn có thể chỉ định trang lỗi 301 và 404 tùy chỉnh trong web.config và trong mã phía sau cho trang đó (trong PageLoad phương pháp?), đánh giá phản hồi 404, trong đó phải bao gồm url bị lỗi và viết mã để chuyển hướng đến trang thích hợp.

Vì vậy, nếu url xấu là http://www.example.com/hello111bạn có thể đặt một chuỗi thành url chính xác (http://www.example.com/hello-world).

コメント

タイトルとURLをコピーしました