2012-01-01 22 views
5

Tôi gặp sự cố với trang web và tôi không biết mã nào tôi phải sử dụng để giải quyết.Mã chuyển hướng nào có thể giải quyết trang chủ trùng lặp của tôi?

Tôi đã chạy thử nghiệm bò, mà kết quả trong cấu trúc sau:

www.domain.com
www.domain.com/ (đây là một lớn vấn đề , bởi vì đó là nội dung trùng lặp)
www.domain.com/category
www.domain.com/category/page
www.domain.com/category2
www.domain.com/category2/page
www.domain.com/category3/ subcat4/trang
v.v.

Như bạn có thể thấy, các trang phụ không có dấu gạch chéo. Câu hỏi của tôi là: Mã chuyển hướng nào là cách hiệu quả nhất để giải quyết vấn đề trang chủ trùng lặp? Được tính đến, các trang con không có (vì vậy không cần?) Dấu gạch chéo.

Trả lời

2

www.domain.comwww.domain.com/ bằng nhau! Các trình duyệt có thuộc tính ngu ngốc để ẩn tiền tố và hậu tố của một URL trong một số trường hợp.

Cả hai ví dụ sẽ trỏ đến http://www.domain.com/ trong khi Firefox, ví dụ: sẽ hiển thị trong cài đặt mặc định chỉ www.domain.com. Mọi thứ đằng sau dấu gạch chéo đầu tiên có thể có nhưng không phải là dấu gạch chéo thứ hai.

Điều đó có nghĩa là nếu bạn có thư mục được gọi là tải xuống và trình duyệt yêu cầu http://www.domain.com/downloads máy chủ sẽ chuyển hướng ứng dụng khách đến http://www.domain.com/downloads/.

Nhưng hãy cẩn thận với đường dẫn "ảo" được sử dụng thường xuyên trong các trang được tối ưu hóa tìm kiếm. Hầu hết thời gian CMS sẽ không chuyển hướng khách hàng từ http://www.domain.com/article/welcome/ đến http://www.domain.com/article/welcome sẽ tạo nội dung kép, cũng chỉ khi CMS không cung cấp quyền meta để giải quyết nội dung kép.

+2

Không đúng sự thật, hoặc ít nhất là không liên quan. Google thấy 2 URI là khác nhau và sẽ thêm cả hai URI vào chỉ mục. Và đánh dấu chúng là trùng lặp. xem http://googlewebmastercentral.blogspot.com/2010/04/to-slash-or-not-to-slash.html – Nanne

+0

Tôi đã nói về dấu gạch chéo sau tên miền. Không phải là dấu gạch chéo của một con đường. Tôi sẽ cập nhật câu trả lời của mình. – rekire

+0

có, nhưng trang web này phản hồi (hoặc vì vậy nó được tuyên bố tôi nghĩ) với 'miền' cũng như' miền/'. Nếu họ không được chuyển hướng nhưng phục vụ một 200, nó vẫn là một vấn đề. – Nanne

4

Bạn chỉ có thể buộc một dấu gạch chéo với .htaccess Something toàn cầu sẽ giống như thế này (mã nhanh chóng chưa được kiểm tra)

RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ $1/ [L,R=301] 

Bạn có thể ofcourse chỉ cần chỉ định thư mục gốc, và không sử dụng (. *).

Các vấn đề liên quan