it-swarm-vi.com

Neo thiếu có thể được đăng nhập?

Nếu tôi có một liên kết bị hỏng, nó sẽ được đăng nhập với 404. Nếu tôi có một liên kết đến một neo và thiếu neo, tôi không nhận được một mục trong nhật ký. Làm cách nào tôi có thể tìm thấy các liên kết neo bị hỏng đó, đặc biệt nếu lưu lượng truy cập đến từ người giới thiệu? Có cách nào để cấu hình đăng nhập để nắm bắt thông tin này không?

Máy chủ HTTP: Apache 2

8
Dennis Williamson

Không thể định cấu hình ghi nhật ký phần #fragment của URL vì máy chủ web của bạn không bao giờ nhìn thấy nó. Từ RFC3986

mã định danh phân đoạn được tách ra khỏi phần còn lại của URI trước khi hủy đăng ký và do đó, thông tin nhận dạng trong chính phân đoạn đó chỉ được quy định bởi tác nhân người dùng, bất kể lược đồ URI. Mặc dù việc xử lý riêng biệt này thường bị coi là mất thông tin, đặc biệt là chuyển hướng chính xác các tài liệu tham khảo khi tài nguyên di chuyển theo thời gian, nó cũng có tác dụng ngăn các nhà cung cấp thông tin từ chối quyền tham chiếu thông tin trong tài nguyên. Tham chiếu gián tiếp cũng cung cấp thêm tính linh hoạt và khả năng mở rộng cho các hệ thống sử dụng URI, vì các loại phương tiện mới dễ xác định và triển khai hơn so với các sơ đồ nhận dạng mới.

Điều này có nghĩa là về cơ bản trình duyệt web loại bỏ phần neo của URI trước khi gửi nó đến máy chủ web. giao thức HTTP thậm chí không xử lý các đoạn vì điều này; Họ không bao giờ được gửi qua dây.

Các đoạn có sẵn cho JavaScript (vì đó là phía máy khách) như một phần của thuộc tính location.href. Sau khi có được tên phân đoạn, bạn có thể xác nhận rằng nó hợp lệ bằng cách tìm kiếm thuộc tính tên của document.anchors [] mảng cho giá trị đó.

Khi bạn đã hoàn thành việc này, nó có thể được ghi lại bằng cách sử dụng AJAX hoặc, như ghi chú pelms , được chuyển cho Google Analytics hoặc các dịch vụ tương tự.

11
JasonBirch

Như những người khác đã nói, neo trang là thứ mà trình duyệt hoạt động chứ không phải máy chủ web.

Bạn có thể sử dụng một số mã để chuyển thông tin neo vào chương trình Analytics của mình. Ví dụ: bạn có thể trích xuất giá trị location.hash và chuyển nó cho Google Analytics dưới dạng biến tùy chỉnh .

Hữu ích hơn, bạn có thể chạy mã kiểm tra html trang để tìm một neo tương ứng với giá trị của location.hash và nếu nó thiếu sẽ kích hoạt một sự kiện GA . Điều đó sau đó sẽ cung cấp cho bạn một báo cáo GA trên các liên kết neo trang bị hỏng khi người dùng nhấp vào chúng.

3
pelms

Tôi không nghĩ có thể thấy điều này trong nhật ký của Apache. Nếu một tệp được yêu cầu và phục vụ, điều đó sẽ chấm dứt sự tham gia của Apache (hoặc bất kỳ máy chủ nào khác). Tìm kiếm và định vị đến mỏ neo là điều mà trình duyệt thực hiện. Vào thời điểm trình duyệt của bạn xác định vị trí neo, kết nối đến máy chủ đã bị đóng.

Một trình kiểm tra liên kết tốt sẽ chọn nó, nhưng đó là một quá trình thủ công.

1
Tim Post

Trình xác thực CSE HTML kiểm tra các neo bị thiếu ... để biết giá.

Xem http://www.htmlvalidator.com/htmlval/whycseisbetter.html

0
vmarquez