Điểm:1

Cloudflare cache mọi thứ

lá cờ ch
STF

chúng tôi có Drupal 8 với quy tắc bộ đệm Cloudflare. Theo mặc định, chúng tôi luôn có đơn vị tiền tệ GBP, sau đó chúng tôi đã phát triển một mô-đun cho phép người dùng thay đổi đơn vị tiền tệ của họ bằng menu thả xuống ở chân trang và lưu nó vào phiên người dùng.

Nếu không có quy tắc bộ đệm của Cloudflare, trang web sẽ hoạt động bình thường. Vấn đề là nếu quy tắc đang hoạt động, lần truy cập web đầu tiên được lưu vào bộ nhớ cache bằng loại tiền mặc định, sau đó nếu ai đó cố gắng thay đổi loại tiền thành EUR, trang web sẽ được tải lại và nó hiển thị trang được lưu trong bộ nhớ cache với loại tiền mặc định chứ không phải EUR .

Bộ nhớ cache của Cloudflare theo URL và chúng tôi luôn giữ cùng một URL cho tất cả các loại tiền tệ.




Bắt đầu chụp màn hình Clodflare

Quy tắc bộ nhớ cache của Cloudflare Cấp độ bộ nhớ cache của Cloudflare

Kết thúc ảnh chụp màn hình Clodflare




Một giải pháp mà chúng tôi nghĩ là thêm/bắt buộc đơn vị tiền tệ làm thông số của URL.

https://www.amazon.com/ 
https://www.amazon.com/?currency=EUR&lingu=es_US 
https://www.amazon.com/?currency=EUR&lingu=en_US 
https://www.amazon.com/?currency=USD&lingu=es_US

Có thể buộc một yêu cầu luôn có một tham số không? Có cách nào để làm điều này? Giống như một EventSubscriber?

Cảm ơn tất cả.

Điểm:1
lá cờ cn

Có, bạn có thể buộc yêu cầu luôn có các tham số truy vấn bằng cách chuyển hướng trong một người đăng ký sự kiện. Vấn đề là, làm cách nào để bạn biết loại tiền mà người dùng đang yêu cầu nếu tham số bị thiếu? Vì vậy, những gì bạn có thể muốn là xử lý các đường dẫn đi để có các tham số chính xác.

BTW câu hỏi của bạn hơi khó hiểu. Phần đầu tiên nói về người dùng đã đăng nhập. Sau đó, giải pháp không phải là tham số truy vấn mà là định cấu hình CDN để bỏ qua bộ đệm trên SESS.* cookie (dù sao bạn cũng cần để giữ cho người dùng đăng nhập). Nhìn thấy https://support.cloudflare.com/hc/en-us/articles/115002911927-Caching-HTML-with-Drupal

STF avatar
lá cờ ch
STF
Xin chào @ 4k4, cảm ơn bạn đã phản hồi nhanh chóng. Luôn có một cookie phiên và điều này là cần thiết cho khách và người dùng đã đăng nhập. Chúng tôi đã cố định cấu hình CDN bằng cookie phiên (và cả cookie tùy chỉnh), nhưng chúng tôi không thể sử dụng giải pháp này. Đó là câu hỏi, nếu một yêu cầu không có tham số tiền tệ, tôi có thể buộc thêm nó nếu nó tồn tại trong phiên không?
STF avatar
lá cờ ch
STF
Nếu tôi cố gắng truy cập trang web www.example.com và nếu tôi có EUR trong phiên nhưng tham số không tồn tại, tôi có thể buộc thay đổi yêu cầu này thành www.example.com?currency=EUR
4uk4 avatar
lá cờ cn
Bạn có thể nhận phiên trong một người đăng ký sự kiện `$event->getRequest()->getSession()` và chuyển hướng nếu tham số truy vấn bị thiếu. Xem https://www.drupal.org/node/2013014. Nhưng tôi không chắc điều này có hiệu quả khi bạn đã định cấu hình CDN để lưu vào bộ đệm lưu lượng truy cập bằng cookie phiên. Và bạn vẫn có thể muốn thêm các tham số truy vấn vào các liên kết ngoài, đặc biệt là các tham số trong danh sách thả xuống đơn vị tiền tệ.
Điểm:0
lá cờ ch
STF

Cloudflare có một tùy chọn là Custom Cache Key. Ở đây tôi có thể định cấu hình bộ đệm theo tên cookie và/hoặc tên và giá trị cookie.

Chúng tôi lưu loại tiền tệ trong cookie và Cloudflare có thể phát hiện tên cookie đó bằng loại tiền tệ được chỉ định.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.