Tôi là tác giả của mô-đun hộp cát đó ( Permalink to Nodepath ) được đề cập trong bình luận đầu tiên cho câu hỏi. Câu trả lời của Mario được mô tả kỹ về các URL chính tắc - nhưng thật không may, đó không phải là hàm ý duy nhất .
Các URL / * nhận xét này là từ Drupal 7. Trong Drupal 6, các bình luận không có URL riêng. URL Canonical có thể giải quyết vấn đề với nội dung trùng lặp, điều này hoàn toàn tốt cho hầu hết các trang web IMO. Nhưng các bình luận spam có thể thêm lỗi 404 và 403 vào danh sách lỗi trang web của bạn nếu muốn. Đây là kinh nghiệm cá nhân của tôi rằng dịch vụ săn spam của tôi không thể xóa một số bình luận nên tôi phải xóa chúng theo cách thủ công. Nhưng Google đã có chúng được lập chỉ mục.
Vấn đề thực tế là người dùng ẩn danh có thể đăng bất kỳ loại bình luận nào và nếu chúng bị xóa hoặc không được công bố, Google (và các công cụ tìm kiếm khác) ghi lại chúng dưới dạng lỗi thu thập dữ liệu khá khó chịu và có thể nó cũng sẽ ảnh hưởng đến thứ hạng trang của bạn.
Mặt khác, hầu hết các trang web chia sẻ liên kết, bao gồm cả facebook không tôn trọng URL chuẩn. Ví dụ: http://example.com/node/1
có thể có 56 lượt thích (facebook) nhưng chúng không được đồng bộ hóa nếu người dùng thích http://example.com/comment/5
(giả sử bình luận 5 là một bình luận được thực hiện cho nút 1). Từ lượt xem trên facebook, chúng là 2 URL khác nhau (thực tế chúng là như vậy) nên số lượng khác nhau.
Ngoài ra, các mô-đun như Boost dựa vào cài đặt URI yêu cầu thực tế từ $ _SERVER vẫn còn comment/5
(mặc dù URL chính tắc là node/5
). Tuy nhiên, bạn có thể thay đổi cấu hình của mô-đun Boost để khắc phục điều này.
Nó khá phổ biến để sử dụng arg(1)
để lấy ID nút trong các khối, mô-đun, Chế độ xem tùy chỉnh, v.v. Chúng sẽ hoạt động , bởi vì trong chức năng gọi lại của URL bình luận /%, chức năng đó đặt $_GET['q']
thành URL chính tắc. Thay đổi $ _GET này giải quyết hầu hết các vấn đề trong công cụ có thể lập trình.