Tinh chỉnh Cache Rules nhắm đến địa chỉ website cụ thể

Cache Rules cho WordPress sẽ mặc định bao trùm mọi địa chỉ website chính, phụ chẳng hạn như subdomain. Nếu tất cả các trang của bạn đều là WordPress, và đều là blog thì điều đó không thành vấn đề, thậm chí còn tiện vì rule chung áp dụng tất cả các địa chỉ.

Tuy nhiên nếu bạn chỉ muốn Cache Rules nhắm đến một địa chỉ cụ thể mà thôi thì có 2 cách:

  • Cách 1: Tắt proxy ngược (đám mây vàng) cho những địa chỉ mà bạn không muốn nó thực hiện cache. Cách này là đơn giản nhất. Ví dụ tôi có địa chỉ blog.wpsila.com cần cache thì tôi bật đám mây vàng cho nó. Giả dụ sau này tôi có shop.wpsila.com, thì tôi tắt đám mây vàng cho địa chỉ này. Cache Rules sẽ vẫn áp dụng cho các địa chỉ có bật đám mây vàng.
  • Cách 2: Có thể bạn vẫn cần các nguyên tắc bảo mật cho địa chỉ không cần cache, do vậy bạn vẫn bật đám mây vàng. Khi ấy để loại bỏ nó không cần cache bạn chỉ cần chỉ định cụ thể địa chỉ áp dụng cache rules.

Ví dụ một nguyên tắc cache rules thế này:

(not http.request.uri.path contains "/wp-login.php" and not http.request.uri.path contains "/wp-admin" and not http.cookie contains "wordpress_logged_in_" and not http.request.uri.path.extension in {"css" "js" "woff" "woff2" "ttf" "otf" "eot" "map" "jpg" "png" "jpeg" "webp" "avif" "ico" "svg" "gif" "pdf" "mp3" "mp4" "webm"})

Bây giờ tôi muốn chỉ định rằng cache rules trên chỉ áp dụng cho địa chỉ blog.wpsila.com thì tôi làm như sau:

(not http.request.uri.path contains "/wp-admin" and not http.request.uri.path contains "/wp-login.php" and not http.cookie contains "wordpress_logged_in_" and not http.request.uri.path.extension in {"css" "js" "woff" "woff2" "ttf" "otf" "eot" "map" "jpg" "png" "jpeg" "webp" "avif" "ico" "svg" "gif" "pdf" "mp3" "mp4" "webm"} and http.host eq "blog.wpsila.com")

Mấu chốt là bổ sung: and http.host eq "blog.wpsila.com" nghĩa là cái địa chỉ host phải là blog.wpsila.com mới áp dụng cache, tất cả các cái khác thì không.


Bây giờ giả dụ tình huống phức tạp hơn. Chúng ta có vài địa chỉ cần cache, và vài địa chỉ không cần cache thì làm thế nào.

Chẳng hạn:

  • wpsila.com không cần cache rules (nhưng vẫn cần bảo mật nên vẫn bật proxy).
  • rtd-cafe.wpsila.com không cần cache rules (tương tự vẫn cần bảo mật nên vẫn bật proxy).
  • blog.wpsila.com cần cache rules.
  • news.wpsila.com cần cache rules.

Vậy thì chúng ta sẽ thay đổi chiến thuật là chỉ định các host không cần cache. Ví dụ:

(not http.request.uri.path contains "/wp-admin" and not http.request.uri.path contains "/wp-login.php" and not http.cookie contains "wordpress_logged_in_" and not http.request.uri.path.extension in {"css" "js" "woff" "woff2" "ttf" "otf" "eot" "map" "jpg" "png" "jpeg" "webp" "avif" "ico" "svg" "gif" "pdf" "mp3" "mp4" "webm"} and http.host ne "rtd-cafe.wpsila.com" and http.host ne "wpsila.com")

Và vì chúng ta chỉ định những địa chỉ không cần cache nên những cái cần cache sẽ vẫn được cache.

Mấu chốt là lệnh and http.host ne "rtd-cafe.wpsila.com" and http.host ne "wpsila.com" để nó chỉ định các địa chỉ không cần cache.