Tạo URL thích hợp với Chuỗi truy vấn và Anchor Hashtag


114

Khi cả chuỗi truy vấn và thẻ liên kết (thẻ băm) đều hiển thị trong URL, thứ tự thích hợp để chúng xuất hiện là gì?

http://www.whatever.com?var=val#anchor

hoặc là

http://www.whatever.com#anchor?var=val

Có tài liệu nào về điều này không?

cập nhật: Các URL đang được xử lý bởi Wordpress / PHP

Câu trả lời:


148
?var=var#hash

mọi thứ sau đó #là phía khách hàng.

Ngoài ra, hãy xem xét việc viết lại url để loại bỏ ?var=var


26
chuỗi truy vấn xấu nhưng nó có mục đích của nó và linh hoạt hơn
Morio

7
Có gì sai khi sử dụng chuỗi truy vấn? chúng là một phần của tiêu chuẩn HTTP vì một lý do
Julio Bastida

Có, nhưng đối với các SPA (Ứng dụng trang đơn), thông số nào cho các thông số từ trang sang trang phía máy khách?
Pete Alvin


3

Lưu ý rằng khi URL có cả thẻ liên kết (#) và chuỗi truy vấn (?), Trình duyệt có thể bỏ qua chuỗi truy vấn và điều hướng đến thẻ liên kết mà không cần tải lại trang.

Có thể cần phải gửi trang bằng cách sử dụng

    <form action='webpage.php?q=string#tag' method='GET or POST'>
    <input type='text' id='q' name='q' value='string'>
    <input type='submit' value='submit'>
    </form> 

thay vì chỉ là một liên kết URL

    <a href='webpage.php?q=string#tag'>.

1

Nếu mục đích sử dụng #là để biểu thị trang fragmentthì - có ?sau đó #.

Nếu #đến trước ?và nó không phải để biểu thị trang fragment(điều này có thể xảy ra khi #là một phần của quyền hạn (tên người dùng và mật khẩu)) thì nó phải được mã hóa hoặc bạn đang gặp rắc rối. Cũng áp dụng đối với bất kỳ ký tự đặc biệt khác ( :, @, ...) có thể đem lại ý nghĩa khác nhau để url.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.