Đây là một câu hỏi rất đơn giản: Làm cách nào để chạy ứng dụng Yesod có thể xử lý nhiều máy chủ cùng một lúc?Ứng dụng Yesod độc lập tên máy chủ
Thiết lập Yesod mặc định có thể xử lý các kết nối đến từ bất kỳ máy chủ nào, nhưng tất cả URL được hiển thị với approot
được thêm vào trước. Ghi đè joinPath
trong khai báo cá thể Yesod sẽ có thể, nếu có cách lưu trữ miền hiện tại để nó có sẵn cho hàm đó, nhưng không có.
Phương pháp được mô tả trên this wiki page hoạt động, nhưng rất đáng sợ, vì nó buộc các tuyến đường lấy thêm tham số domain
(vì tôi không có một nhóm miền tĩnh để đối sánh). Đối với các mục đích thực tế (vì tôi có nhiều tuyến đường, một số tuyến là độc lập với miền), sẽ tốt hơn nếu có giải pháp để lại các tuyến đường bị ảnh hưởng vì có thể vẫn lấy tên máy chủ từ thông tin yêu cầu WAI bên trong một hàm xử lý.
Tôi sử dụng những thứ yêu cầu URL tuyệt đối (ví dụ: email, RSS, XML API) để approot _ = ""
không phải là một tùy chọn.
Tôi không và không thể biết tất cả tên máy chủ lưu trữ, cần được hỗ trợ, tại thời điểm biên dịch.
Vì vậy, làm cách nào để hiển thị URL để chúng sử dụng tên máy chủ của yêu cầu gửi đến chứ không phải biến số approot
?
tôi sẽ được sau các cuộc thảo luận, và sẽ đánh giá cao một cập nhật cho câu trả lời này (đối với những người dùng khác) từng là một giải pháp là trong Repos. Cảm ơn! – dflemstr