30/09/2018, 18:30

Vấn đề URL Slug với Unicode khi lập trình web

Mình có biết URL Slug để làm cho tên URL dễ hiểu hơn ví dụ
http://example.com/con%ga%con%cho sẽ thành http://example.com/con-ga-con-cho

Tuy nhiên xem các ví dụ của tiếng Anh thì họ đều làm trên ANSI không dấu như vậy rất dễ dàng để tách biêt.

Tuy nhiên trong tiếng việt thì các url này sinh ra có thể bị trùng nhau do con-ga-con-cho có thể bị sinh ra từ con gạ con chọ hoặc con gà con chó.
Bác nào có kinh nghiệm có thể cho em ví dụ một số cách xử lý được không. Nếu có của Django càng tốt

*grab popcorn* viết 20:33 ngày 30/09/2018

Mình thấy người ta hay thêm số vào cuối url. Số nào thì chọn số không thể trùng như số ngày tháng năm lúc tạo ra url đó chẳng hạn :3

http://example.com/con-meo-con-vit-34785
Khiem Nguyen viết 20:39 ngày 30/09/2018

bạn phải viết hàm replace string ví dụ như khi url của bạn có chứa ký tự á à ạ ă â thì sẽ convert về a. còn vấn đề url trùng tên nhau thì cái này buộc bạn thiết lập cho slug này là duy nhất không được trùng. mặc khác nếu bạn quản lý bằng Id thì chỉ việc cấu hình url theo định dạng như sau http://example.com/hello-world/1

Quan viết 20:43 ngày 30/09/2018

Mình nghĩ là tạo id cho slug sẽ giải quyết triệt để chứ để ngày tháng nhiều khi nó vẫn xảy ra trùng.

Quan viết 20:32 ngày 30/09/2018

Cám ơn bác, chắc dùng id là ok.

Dương Tiến Thịnh viết 20:32 ngày 30/09/2018

Mình dùng kết hợp url với id, khi duyệt thì mình đọc id ra để duyệt, url chỉ để cho đẹp.

Bài liên quan
0