01/10/2018, 15:48

Hỏi về url website?

Em có url sau : http://animehay.tv/phim/nanatsu-no-taizai-imashime-no-fukkatsu-f1663.html (1)

giờ em xóa chỉ giữ lại id : http://animehay.tv/phim/-f1663.html .(2)

Sau khi enter reload trang lại thì nó trở lại như 1 . Cho em hoi là làm ntn vậy . Em cảm ơn

Nguyễn Duy Hùng viết 17:54 ngày 01/10/2018

có thể là lập trình để redicrect khi url lỗi không theo định dạng đã quy định.

Nguyễn Thảo Ly viết 17:58 ngày 01/10/2018

cụ thể chứ anh nói vậy ai chả biết :v .

Quân viết 17:52 ngày 01/10/2018

Người ta nói vậy là rõ lắm rồi còn gì, ngắn gọn súc tích nhưng đủ để biết bên kia làm thế nào. Cái gì cũng phải nói huỵch toẹt từ a-z tất cả kiến thức liên quan thì mới OK cho bạn sao

Phan Bá Hải viết 17:57 ngày 01/10/2018

Cụ thể thì alo cho admin animehay là chính xác nhất chứ không ai có thể nói chính xác workflow của nó được
Với lại câu trả lời của bạn @banhmisg9509 là đầy đủ để hiểu và áp dụng rồi

Trần Hoàn viết 17:56 ngày 01/10/2018

Redirect, đơn giản thế thôi. Còn mỗi ngôn ngữ lập trình back-end sẽ có một cú pháp redirect khác nhau, làm sao nói cụ thể được hả bạn.

Phan Bá Hải viết 18:05 ngày 01/10/2018

VD với Java (sử dụng Spring)

...
@GetMapping("/phim/{name}")
public String getFilmSummary(@PathVariable String name, ModelMap model) {
    //nanatsu-no-taizai-imashime-no-fukkatsu-f1663  -> f1663
    // -f1663 -> f1663
    // f1663 -> null
    String id = name.substring(name.lastIndexOf("-") , name.length()); // Cắt chuỗi từ "-" cuối cùng đến hết chuỗi

    String fullName = filmRepository.findFullNameById(id);
    // Kiểm tra fullName
    // Nếu fullName null thì trả về view "not-found"
    // Nếu fullName giống name thì lấy dữ liệu film, đổ vào view "film-details" rồi trả về client
    // Nếu fullName khác name thì redirect url có fullName
   
    if(fullName == null {
        // url .../phim/f1663.html sẽ ra not found

        return "not-found";
    } else if(fullName.equals(name)) {
        // url .../phim/nanatsu-no-taizai-imashime-no-fukkatsu-f1663.html sẽ lấy dữ liệu phim

        // Lấy dữ liệu film
        Film film = filmRepository.findByFullName(name);
        // Gán film vào view
        model.addAttribute("film", film);
        return "film-details";
    } else {
        // url .../phim/-f1663.html sẽ redirect về url .../phim/nanatsu-no-taizai-imashime-no-fukkatsu-f1663.html

        return "redirect:/phim/" + fullName; // redirect về "/phim/nanatsu-no-taizai-imashime-no-fukkatsu-f1663"
    }
}

Mình xài Java có thể không đúng công nghệ với trang animehay hoặc không đúng ý bạn, tuy nhiên tóm lại thì việc rediect do backend làm, bạn phải hiểu backend thì mới áp dụng được. Chủ yếu là so sánh chuỗi của request và dữ liệu trên db, nếu lấy đúng thì trả về client, không đúng cấu trúc nhưng có id thì lấy đúng cấu trúc rồi trả về view, sai hoàn toàn cấu trúc thì ra not found

[spoiler]Gõ điện thoại mệt vcl [/spoiler]

Nguyễn Thảo Ly viết 17:52 ngày 01/10/2018

[quote=“banhmisg9509, post:2, topic:67823”]
redicrect
[/qu
như vậy phải truy cập database so sánh phải ko bạn ?

Bài liên quan
0