Tôi vài năm trước tôi đã tạo một trang ASP.NET dựa trên cơ sở dữ liệu, sử dụng một trang APSX duy nhất để hiển thị tất cả các trang của trang. Vì vậy, tất cả các URL của trang web có định dạng sau:Chuỗi truy vấn đăng nhập Plus cho trang web ASP.NET
/main.aspx?page=Page+Title+One
/main.aspx?page=Another+Article+Title
/main.aspx?page=Third+Page
Trang main.aspx được các dữ liệu chuỗi truy vấn (trang + Tiêu đề + Một ví dụ) và sử dụng nó như là một chìa khóa để kéo bài viết thích hợp nội dung từ cơ sở dữ liệu máy chủ SQL. Tiêu đề thực sự của trang được lưu trữ trong db với dấu cách thay vì dấu cộng (ví dụ "Trang Tiêu đề Một").
Quyết định kém đi cùng với dấu + làm dấu phân tách từ trong chuỗi truy vấn URL đang gây ra nhiều vấn đề với công cụ tìm kiếm gần đây (nội dung trùng lặp, v.v.), vì vậy tôi muốn khắc phục, nhưng không thay đổi URL .
Những gì tôi muốn làm là khi công cụ tìm kiếm hoặc truy cập cố gắng đến thăm URL sai thiếu những dấu hiệu + và có không gian trắng thay vào đó, ví dụ:
/main.aspx?page=Page Title One
tôi muốn làm chuyển hướng 301 vĩnh viễn:
/main.aspx?page=Page+Title+One
để có thể làm được điều này tôi cần phải kiểm tra xem giá trị chuỗi truy vấn có ưu điểm hay không gian màu trắng, tuy nhiên khi tôi nhận được giá trị với Request.QueryString [ "trang"] ngay cả khi chuỗi quesry thực tế có Điểm cộng trong đó tôi vẫn nhận được chuỗi ký tự có khoảng trắng "Page Title One".
Trang web chạy trên IIS6/Win 2003.
Tôi làm cách nào để thực hiện việc này?
URL của tôi luôn sử dụng dấu cộng thay vì dấu cách trắng hoặc% 20, tuy nhiên tôi thấy các trang được lưu trong bộ nhớ cache trong Google giống như 2: /main.aspx?page=KW1 KW2 và /main.aspx?page=KW1% này 20KW2, cả hai đều sai và đang gây ra các vấn đề nội dung trùng lặp. Bây giờ tôi muốn 301 chúng đến URL thích hợp là /main.aspx?page=KW1+KW2. –
Đó là khá nhiều những gì tôi đã giải thích. Không chắc chắn những gì không rõ ràng, do đó, đã thêm mã ví dụ mà hy vọng giải thích. –
Cảm ơn Jon, đây chính xác là những gì tôi cần :). Làm cách nào để đánh dấu câu hỏi là đã trả lời? –