Nguồn của tôi: http://htmlhelp.com/tools/validator/problems.html#amp
Một lỗi phổ biến khác xảy ra khi bao gồm một URL có chứa ký hiệu và ("&"):
Điều này không hợp lệ:
a href = "foo.cgi? chap = 1 & section = 2 & copy = 3 & lang = en"
Giải trình:
Ví dụ này tạo ra lỗi cho "phần thực thể không xác định" vì phần "&"
này được giả định là bắt đầu một tham chiếu thực thể. Các trình duyệt thường khôi phục một cách an toàn khỏi loại lỗi này, nhưng các vấn đề thực sự vẫn xảy ra trong một số trường hợp. Trong ví dụ này, nhiều trình duyệt chuyển đổi chính xác & copy = 3 thành © = 3, điều này có thể khiến liên kết bị lỗi. Vì ⟨là thực thể HTML cho dấu ngoặc nhọn bên trái, một số trình duyệt cũng chuyển đổi & lang = en thành 〈= en. Và một trình duyệt cũ thậm chí còn tìm thấy thực thể §, chuyển đổi & section = 2 thành §ion = 2.
Vì vậy, mục tiêu ở đây là để tránh các vấn đề khi bạn đang cố gắng xác thực trang web của mình. Vì vậy, bạn nên thay thế dấu và bằng &
khi viết URL trong đánh dấu của mình.
Lưu ý rằng thay thế &
bằng &
; chỉ được thực hiện khi viết URL trong HTML, trong đó "&"
là một ký tự đặc biệt (cùng với "<" và ">"). Khi viết cùng một URL trong một email văn bản thuần túy hoặc trong thanh vị trí của trình duyệt, bạn sẽ sử dụng "&"
và không "&"
. Với HTML, trình duyệt dịch "&"
sang "&"
để máy chủ Web sẽ chỉ nhìn thấy "&"
và không có "&"
trong chuỗi truy vấn của yêu cầu.
Hi vọng điêu nay co ich : )